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 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<length;index++)
System.out.println(d[index]);
}
}
A.因为int[]数组声明不正确,程序不能被编译。
B.程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常。
C.程序将显示数字0到99,然后将抛出一个ArrayIndexOutOfBoundsException异常。
D.程序被编译,但println()方法将抛出一个NoSuchMethodException异常。
E.程序正常运行,并显示100个0。
9、下列关于接口的说法正确的是哪一项(D)
A.接口与抽象类是相通的概念 B.实现一个接口必须实现 接口的所有方法
C.接口之间不能有继承关系 D.一个类可实现多个接口
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() {
//
}
}
如何使成员变量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.以上所有选项都不正确
java接口有没有构造方法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)
System.out.println(a++*b+c*--d);
的结果为(C)
A.144 B.28
C.140 D.不能执行
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)
A.捕获异常 B.抛出异常
C.声明异常 D.嵌套异常
C.声明异常 D.嵌套异常
30、执行下面的赋值语句后,a的值为(B)
A=Float.valueOf(“12.34”).floatValue();
A.a=”12.34” B.a=12.34
C.a=1234 D.a=12
31、JAVA语言中,下面关于类的描述正确的是(B)。
A.一个子类可以有多个父类 B. 一个父类可以有多个子类
C.子类可以使用父类的所有 D. 子类一定比父类有更多的成员方法
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论