当前位置:文档之家› 苏州大学Java程序设计课程试卷含答案(A)

苏州大学Java程序设计课程试卷含答案(A)

苏州大学Java程序设计课程试卷(A)卷参考答案共7页一、选择题(2分*25= 50分)1.main方法是Java Application程序执行的入口点,关于main方法, 以下哪项是合法的( B )?A、public static void main()B、public static void main(String args[] )C、public static int main(String [] arg )D、public void main(String arg [] )2.Java Application源程序的主类是指包含有( A )方法的类。

A、main方法B、toString方法C、init方法D、actionPerfromed方法3.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。

A、import java.awt.* ;B、import java.applet.Applet ;C、import java.io.* ;D、import java.awt.Graphics ;4.对于构造函数,下列叙述错误的是( B )。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。

B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。

D、一般在创建新对象时,系统会自动调用构造函数。

5.下面的是关于类及其修饰符的一些描述,错误的是:( B )。

A、abstract类只能用来派生子类,不能用来创建abstract类的对象。

B、final类不但可以用来派生子类,也可以用来创建final类的对象。

C、abstract不能与final同时修饰一个类。

D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。

6.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为( C )。

A、隐藏B、覆盖C、重载D、Java不支持此特性7.设有下面两个类的定义:class Person { class Student extends Person {long id; // 身份证号int score; // 入学总分String name; // 姓名int getScore(){} return score;}}问:类Person和类Student的关系是( B )。

A、包含关系B、继承关系C、关联关系D、无关系,上述类定义有语法错误8.设有下面的两个类定义:class AA {void Show(){ System.out.println("我喜欢Java!");}class BB extends AA {void Show(){ System.out.println("我喜欢C++!");}则顺序执行如下语句后输出结果为:( A )AA a; BB b;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++! 我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java! 我喜欢C++!9.设有下面的一个类定义:class AA {static void Show( ){ System.out.println("我喜欢Java!"); }}class BB { void Show( ){ System.out.println("我喜欢C++!"); } }若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:(C )A、a.Show( ) B、AA.Show( );b.Show( ) BB.Show( );C、AA.Show( );D、a.Show( );b.Show( ); BB.Show( );10.对于构造函数,下列叙述错误的是( C )。

A、构造函数也允许重载。

B、子类无条件地继承父类的无参构造函数。

C、子类不允许调用父类的构造函数。

D、在同一个类中定义的重载构造函数可以相互调用。

11.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。

A、privateB、protectedC、private protectedD、public12.对于子类的构造函数说明,下列叙述中不正确的是( D )。

A、子类无条件地继承父类的无参构造函数。

B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函数,但这个调用语句必须是子类构造函数的第一个可执行语句。

C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行自己的构造函数。

D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。

13. Java语言是( D )。

A.面向问题的解释型高级编程语言B.面向机器的低级编程语言C.面向过程的编译型高级编程语言D.面向对象的解释型高级编程语言14. 既能作为类的修饰符, 也能作为类成员的修饰符的是( A)。

A) public B) extends C) Float D) static15. 下列选项中,用于定义接口的关键字是( C)。

A)import B) implements C) interface D) protected16.下列类头定义中,错误的是(B )。

A) class x{ .... }B) public x extends y{ .... }C) public class x extends y{ .... }D) class x extends y implements y1{ .... }17.下列选项中,用于在定义类头时声明父类名的关键字是(C )。

A)return B) interface C) extends D) class18. 定义类头时,不可能用到的关键字是( A)。

A) private B)class C)extends D)implements19. 若一个类中对某个方法进行了重载,能够区分这些重载方法的手段是(C )。

A) 它们的返回值类型的不同B) 它们的名称的不同C) 它们的参数表的不同D) 它们的修饰符不同20.下列关于继承的哪项叙述是正确的?DA)在java中允许多重继承B)在java中一个类只能实现一个接口C)在java中一个类不能同时继承一个类和实现一个接口D)java的单一继承使代码更可靠21.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?B A)private B)无修饰符C)public D)protected22. 给出下列代码,如何使成员变量m 被方法fun()直接访问?Cclass Test{private int m;public static void fun(){...}}A)将private int m 改为protected int mB)将private int m 改为public int mC)将private int m 改为static int mD)将private int m 改为int m23. 下列关于内部类的说法不正确的是CA)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B)内部类可以使用它所在类的静态成员变量和实例成员变量C)内部类不可以用abstract修饰符定义为抽象类D)内部类可作为其他类的成员,而且可访问它所在类的成员24. 下列关于Frame类的说法不正确的是CA)Frame是Window类的直接子类B)Frame对象显示的效果是一个窗口C)Frame被默认初始化为可见D)Frame的默认布局管理器为BorderLayout25、下面哪一个是非法的标识符?AA)2variableB)Variable2C)_whatD)_3_二、判断题(2分*5=10分)(T) 1、Java虚拟机是实现跨平台的基础。

(F) 2、Java支持多继承。

(T) 3、实现一个接口,则在类中一定要实现接口中的所有方法。

(F) 4、一个Java类可以有多个父类,这称作多继承。

(T) 5、只要类中显式地定义一个构造方法,那么Java默认的构造方法不再存在。

三、程序题(5分*4=20分)1.写出以下程序的运行结果。

class StaticTest {static int x=1;int y;StaticTest(){ y++; }x=2public static void main(String args[ ]){ st.y=1StaticTest st=new StaticTest(); st.y=1System.out.println("x=" + x);System.out.println("st.y=" + st.y);st=new StaticTest();System.out.println("st.y=" + st.y);}static { x++;}}2.请写出如下程序的功能import java.io.*;public class Class1{public static void main(String args[ ]){int i , Max , Min ;int a[ ] = { 12,67,8,98,23,56,124,55,99,100 };Max = Min = a[0];for ( i = 1 ; i < a.length; i ++ ) {if ( a[i]<Min ) Min = a[i];if ( a[i]>Max ) Max = a[i];}System.out.println( Max+" "+Min );System.out.println( );}}答:在数组中查找并输出最大值和最小值。

3.请写出如下程序的功能import java.awt.*;public class abc{public static void main(String args[]){new FrameOut();}}class FrameOut extends Frame // Frame为系统定义的窗框类{Button btn;FrameOut( ){super("按钮");btn = new Button("按下我");setLayout(new FlowLayout( ));add(btn);setSize(300,200);show( );}}答:创建一个标题为"按钮"的窗框,窗框中显示有"按下我"字样的按钮。

相关主题