电子科技大学《面向对象程序设计》20春期末考试
试卷总分:100 得分:100
1.在Java中,以下叙述不正确的是( )。
A.构造方法名与类名相同
B.构造方法不是用来完成初始化的
C.构造方法由new操作调用,而不能被用户直接调用
D.构造方法没有返回类型
2.下列选项中关于Java内存回收说明正确的是( )
A.程序员必须创建一个线程来释放内存
B.内存回收程序负责释放无用内存
C.内存回收程序允许程序员直接释放内存
D.内存回收程序可以在指定的时间释放内存对象
3.在Java中,用package说明一个包时,该包的层次结构必须是( )。
A.与文件的结构相同
B.与文件的目录层次相同
C.与文件的类型相同
D.与文件大小相同
4.关于super的说法正确的是( )。
A.是指当前对象的内存地址
B.是指当前对象的父类对象的内存地址
C.是指当前对象的父类
D.可以用在main()方法中
5.如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( )。
A.p.add(b);
B.p.add(b,"North");
C.p.add(b,"South");
D.add(p,"North");
6.当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( )。
A.IOException
B.RuntimeException
C.InterruptedException
D.ClassNotFoundException
7.Java中定义数组名为arr,下面哪项可以得到数组元素的个数( )。
A.arr.length( )
B.arr.length
C.len(arr)
D.ubound(arr)
8.声明并创建一个按钮对象a,应该使用的语句是( )。
A.Button a=new Button();
B.button a=new button();
C.Button a=new a();
D.setLabel(“确定”);
9.下面选项中能定义一个字符变量chr的语句是( )。
A.char chr=’abcd’;
B.char chr=’\uabcd’;
C.char chr=”abcd”;
D.char chr=\uabcd;
10.异常是指( )。
A.程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误
C.程序的编译错误
D.以上都是
11.关于this和super说法正确的是( )。
A.都可以用在main()方法中
B.都是指一个内存地址
C.意义相同
D.不能用在main()方法中
12.关于return语句说法正确的是( )。
A.只能让方法返回数值
B.方法中都必须含有return语句
C.方法中可以有多条return语句
D.不能用来返回对象
13.在Java里,下列哪个选项不是实现面向对象思想的机制( )。
A.封装
B.继承
C.数据类型转换
D.多态
14.关于抽象方法说法正确的( )。
A.可以有方法体
B.可以出现在非抽象类中
C.是没有方法体的方法
D.抽象类中的方法都是抽象方法
15.在Java中,下面叙述不正确的是( )。
A.类的静态方法可以在该类的对象被创建前调用
B.类的静态方法不能访问该类的非静态方法
C.abstract 修饰符可以出现在类或方法的前面,但不能出现在变量之前
D.final 修饰符可以出现在类或变量之前,但不能出现在方法之前
16.下面的代码段执行之后count的值是( )。 int count = 1; for (int i = 1; i <= 5; i++) { count += i; } System.out.println(count);
A.5
B.1
C.15
D.16
17.指出下列程序运行的结果( )。 public class Example{ String str = new String("good"); char[ ] ch = {'a','b','c'}; public static void main(String[ ] args){ Example ex=new Example( ); ex.change(ex.str,ex.ch); System.out.print(ex.str + " and "); System.out.print(ex.ch); } public void change(String str, char ch[ ]){ str = "test ok"; ch[0] = 'g'; } }
A.good and abc
B.test ok and gbc
C.test ok and abc
D.good and gbc
18.在Java 语言中,有如下的类定义: abstract class Shape{ abstract void draw(); } class Square extends Shape{ } 以下描述正确的是( )。
A.一切成功编译
B.Shape可以编译,Square不能编译
C.Square可以编译,Shape不能编译
D.Square,Shape都不能编译
19.应用程序的main方法中有以下语句,则输出的结果是( )。 Hashtable hashtable=new Hashtable(); hashtable.put("100","aaa"); hashtable.put("200","bbb"); hashtable.put("300","ccc"); System.out.println(hashtable.get("300").toString() + hashtable.get("200").toString() + hashtable.get("100").toString());
A.aaa
B.bbb
C.ccc
D.cccbbbaaa
20.有以下程序: public class ConstOver { public ConstOver (int x, int y, int z) { } } 下面哪个方法重载了上面的ConstOver构造方法( )。
A.protected int ConstOver ( ){ }
B.private ConstOver (int z, int y, byte x) { }
C.public object ConstOver (int x, int y, int z) { }
D.public void ConstOver (byte x, byte y, byte z) { }
21.下列选项中Java语言正确的标识符是( )。
A.3x
B.$y
C.abc@
D..com
22.字符流与字节流的区别在于( )。
A.前者带有缓冲,后者没有
B.前者是块读写,后者是字节读写
C.二者没有区别,可以互换使用
D.每次读写的字节数不同
23.覆盖与重载的关系是( )。
A.覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中
B.覆盖方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被覆盖,但不能被重载
D.覆盖与重载是同一回事
24.关于 for循环和 while循环的说法正确的是( )。
A.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果
B.while循环先判断后执行,for循环先执行后判断。
C.两种循环任何时候都不可以替换
D.两种循环结构中都必须有循环体,循环体不能为空
25.Java程序默认引用的包是( )。
A.java.awt包
B.java.lang包
C.java.util包
D.java.text包
26.下列说法正确的是( )。
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D.属性必须是简单变量
27.若一段java 应用程序的主类名是a1,那么保存它的源文件名应该是( )。
A.a1.class
B.a1.cpp
C.a1.java
D.a1.exe
28.关于方法main()的说法正确的是( )。
A.方法main()只能放在公共类中
B.main()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
29.关于接口说法正确的是( )。
A.实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事
30.关于对象成员占用内存的说法正确的是( )。
A.同一个类的对象共用同一段内存
B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对
二、判断题 (共 10 道试题,共 25 分)
31.当一个对象没有任何变量引用时,它将变成垃圾对象。( )
32.构造方法的方法名可以不与所属类名同名。( )
33.对于abstract类,不能创建该类的对象。( )
34.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。( )
35.Java的源代码中定义几个类,编译结果就生成几个以“.class”后缀的字节码。( )
36.Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。( )
37.覆盖的同名方法中,子类方法不能比父类方法的访问权限低。( )
38.所有异常都必须捕获。( )
39.continue语句只用于循环语句中,它的作用是跳出循环。( )
40.Java语言支持类的继承,但只支持类的单继承。( )