
JAVA期末复习和答案.doc
13页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("hello"); }}A.程序不能编译,因为main()方法定义不正确。
B.程序能编译,但不能运行,因为class未声明为public的C.程序能无错地编译并运行,但运行时将产生异常D.程序运行时显示"hello〞6、关于抽象方法的说法正确的一项为哪一项〔A〕A、可以有方法体 B、可以出现在非抽象类中 C、抽象方法是没有方法体的方法 D、抽象类中的方法都是抽象方法7、 假定AB为一个类,则执行AB *=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 inde*=0;inde* C.程序将显示数字0到99,然后将抛出一个ArrayInde*OutOfBoundsE*ception异常D.程序被编译,但println()方法将抛出一个NoSuchMethodE*ception异常E.程序正常运行,并显示100个09、以下关于接口的说法正确的选项是哪一项(D) A.接口与抽象类是相通的概念B.实现一个接口必须实现接口的所有方法C.接口之间不能有继承关系 D.一个类可实现多个接口10、 实现运行时的多态性用(A) A.重载方法 B.构造方法 C.非重载方法 D.抽象方法11、哪一种布局管理器是从上到下、从左到右安排组件,当移动到下一行时是居中的〔B〕A.BorderLayout B.FlowLayout C.GridLayoutD.CardLayout E.GridBagLayout12、以下对继承的说法正确的一项为哪一项(B) A.子类能继承父类的所有方法和状态B.子类能继承父类的非私有方法和状态C.子类只能继承父类的public方法和状态D.子类只能继承父类的方法,而不能继承状态13、 Java语言中,如果你有下面的类定义:abstract class Shape { abstract void draw(); } class Square e*tends Shape{ } 如果你试图编译上面的代码会发生(B)。 A. 一切成功编译 B. Shape可以编译Square不能编译 C. Square可以编译Shape不能编译D. Shape、Square都不能编译14、下面代码是做什么的〔E〕JTe*tField tf=new JTe*tField(30);A.代码不合法在JTe*tField中,没有这样的构造方法B.创立了一个30行的JTe*tField对象,但没进展初始化,它是空的C.创立了一个30列的JTe*tField对象,但没进展初始化,它是空的D.创立一个有30行文本的JTe*tField对象E.创立一个有30列文本的JTe*tField对象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 mB、将private int m 改为 public int mC、将private int m 改为 static int mD、将private int m 改为 int m18、下面对形参的说法中哪一项为哪一项正确的〔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 24、以下说法哪一个是正确的〔A〕A.类是变量和方法的集合体B.数组是无序数据的集合C.抽象类可以实例化D.类成员数据必须是共有的25、 JAVA中,使用(C)修饰符时,一个类能被同一包或不同包中的其他类访问。 A. private B.protected C.public D.final26、下面哪个修饰符修饰的方法只能被本类中的其他方法使用〔C〕A、protected B、static C、private D、public27、关于对象成员占用内存的说法哪一项为哪一项正确〔B〕A.同一个类的对象公用一段内存B.同一个类的对象使用不同的内存段,但静态成员共享一样的内存空间C.对象的方法不占用内存D.以上说法都不对28、 JAVA中,类Worker是类Person的子类,Worker的构造方法中有一句"super()〞,该语句(C) A.调用类Worker中定义的super( )方法B. 调用类Person中定义的super( )方法 C. 调用类Person的构造函数D. 语法错误29、当方法遇到异常又不知如何处理时,以下哪种说法是正确的(B) A.捕获异常 B.抛出异常 30、执行下面的赋值语句后,a的值为〔B〕A=Float.valueOf("〞).floatValue();A.a=〞〞B.a=12.34 C.a=1234 D.a=1231、JAVA语言中,下面关于类的描述正确的选项是(B)。 A.一个子类可以有多个父类 B. 一个父类可以有多个子类 C.子类可以使用父类的所有 D. 子类一定比父类有更多的成员方法32、以下符号中不能作为Java标识符的是〔C〕A.条件 B.*yz C.45si* D.ω33、以下关于一个二维的整型数组的定义,不正确的选项是〔A〕A.int a[10][10]=new int[][]; B.int[]a[]=new int[10][10];C.int[][]a=new int[10][10]; D.int a[][]=new int[10][10];34、JAVA是一种完全面向(B)的语言 A. 过程 B.对象 C.组件 D.效劳 35、以下哪些不是Java的关键字〔B〕A.e*tends B.open C.class D.if E.import36、定义一个表示20个值为null的字符串数组,下面选项正确的选项是〔D〕A、String[] a;B、String a[];C、char a[20][]; D、String a[]=new String[20];37、JAVA中,实现继承的关键字是(C)。 A. Public B.class C.e*tends D.implements 38、在Java语言中,整型常数123占用的存储字节数是〔C〕A.1 B.2 C.4 D.839、设*=1、y=2和z=3,者表达式y+=z--/++*的值是〔b〕A.3 B.。












