JAVA期末复习和答案(1) 下载本文

Java期末复习题 一、选择题:

1、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是 (B)

A. 类 B. 对象 C. 函数体 D. 数据块

2、定义一个不能被继承的名为Abc的类的正确方法是(E)

A.class Abc{} B.native class Abc{}

C.abstract final class Abc{} D.class Abc{final;} E.final class Abc{} 3、若要生成ClassA类的一个对象a,以下书写正确的是(A)

A.ClassA a=new ClassA(); B.ClassA a=new Class(); C.a=new ClassA(); D.ClassA a=ClassA(); 4、 类的构造函数被自动调用执行的情况是在定义该类的 (c)

A. 成员函数时 B. 数据成员时 C. 对象时 D. 构造函数时

5、编译运行下面程序时有何种结果?请选择一个正确的答案(A) class Test{

public static void main(){ System.out.println(\ } }

A.程序不能编译,因为main()方法定义不正确。

B.程序能编译,但不能运行,因为class未声明为public的。 C.程序能无错地编译并运行,但运行时将产生异常。 D.程序运行时显示“hello”。

6、关于抽象方法的说法正确的一项是(A)

A、可以有方法体 B、可以出现在非抽象类中 C、抽象方法是没有方法体的方法 D、抽象类中的方法都是抽象方法

7、 假定AB为一个类,则执行AB x=new AB( );语句时将自动调用该类的(B) A.有形参构造函数 B.无形参构造函数 C.其他成员函数 D.重载函数 8、编译并运行如下程序后,结果是什么?请在给出的选项中选择出正确的答案(E) class Array{

public static void main(String[] args){ int length=100;

int[] d=new int[length];

for(int index=0;index

A.因为int[]数组声明不正确,程序不能被编译。

B.程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常。

C.程序将显示数字0到99,然后将抛出一个ArrayIndexOutOfBoundsException异常。 D.程序被编译,但println()方法将抛出一个NoSuchMethodException异常。 E.程序正常运行,并显示100个0。

9、下列关于接口的说法正确的是哪一项(D)

A.接口与抽象类是相通的概念 B.实现一个接口必须实现 接口的所有方法 C.接口之间不能有继承关系 D.一个类可实现多个接口 10、 实现运行时的多态性用(A)

A.重载方法 B.构造方法 C.非重载方法 D.抽象方法

11、哪一种布局管理器是从上到下、从左到右安排组件,当移动到下一行时是居中的(B) A.BorderLayout B.FlowLayout C.GridLayout D.CardLayout E.GridBagLayout 12、下列对继承的说法正确的一项是(B)

A.子类能继承父类的所有方法和状态 B.子类能继承父类的非私有方法和状态 C.子类只能继承父类的public方法和状态 D.子类只能继承父类的方法,而不能继承状态 13、 Java语言中,如果你有下面的类定义: abstract class Shape { abstract void draw(); }

class Square extends Shape{ } 如果你试图编译上面的代码会发生(B)。 A. 一切成功编译

B. Shape可以编译Square不能编译 C. Square可以编译Shape不能编译 D. Shape、Square都不能编译 14、下面代码是做什么的(E) JTextField tf=new JTextField(30);

A.代码不合法。在JTextField中,没有这样的构造方法

B.创建了一个30行的JTextField对象,但没进行初始化,它是空的。 C.创建了一个30列的JTextField对象,但没进行初始化,它是空的。 D.创建一个有30行文本的JTextField对象。 E.创建一个有30列文本的JTextField对象。

15、构造方法何时被调用(B)

A、类定义时 B、创建对象 C、调用方法时 D、使用对象的变量时 16、 int[] my_Array; my_Array=new int[5];

for(int count=0;count <=5;count++) System.out.println(my_Array[count]); 以上Java代码运行的结果是(d)。

A. 将1,2,3,4,5输出到屏幕 B. 将0,1,2,3,4输出到屏幕 C.将0,1,2,3,4,5输出到屏幕 D.将出现运行时异常

17、给出如下代码:

class Test{

private int m;

public static void fun() { // some code... } }

如何使成员变量m 被函数fun()直接访问?(C)

A、将private int m 改为protected int m B、将private int m 改为 public int m C、将private int m 改为 static int m D、将private int m 改为 int m 18、下面对形参的说法中哪一项是正确的(C) A.必须有两个 B.至少有一个 C.可以没有 D.至少有两个 19、在JAVA编程中,Java编译器会将java程序转换为(A)。

A. 字节码 B.可执行代码 C.机器代码 D.以上所有选项都不正确

20、下面的表达式中正确的是( b )

A.String s=″你好″;int i=3;s+=i; B.String s=″你好″;int i=3;if(i==s){s+=i};

C.String s=″你好″;int i=3;s-=i; D.String s=″你好″;int i=3;s=i+; 21、下列说法中正确的一项是(D)

A.不需要定义类就能创建对象 B.对象中必须有简单变量 C.属性必须是简单变量 D.属性可以是简单变量,也可以是一个对象 22、在JAVA编程中,以下(B)命令用来执行java类文件。

A. Javac B.java C.appletviewer D.以上所有选项都不正确

23、下列语句片段

int a=10,b=4,c=20,d=6;

System.out.println(a++*b+c*--d); 的结果为(C)

A.144 B.28

C.140 D.不能执行 24、下列说法哪一个是正确的(A) A.类是变量和方法的集合体 B.数组是无序数据的集合 C.抽象类可以实例化

D.类成员数据必须是共有的

25、 JAVA中,使用(C)修饰符时,一个类能被同一包或不同包中的其他类访问。

A. private B.protected C.public D.final

26、下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)

A、protected B、static C、private D、public 27、关于对象成员占用内存的说法哪一项是正确(B) A.同一个类的对象公用一段内存

B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上说法都不对

28、 JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句“super()”,该语句(C)。 A.调用类Worker中定义的super( )方法 B. 调用类Person中定义的super( )方法

C. 调用类Person的构造函数 D. 语法错误 29、当方法遇到异常又不知如何处理时,下列哪种说法是正确的(B)