试题编号:
重庆邮电大学2010~2011学年第2学期 《面向对象程序设计-Java》试卷(B卷)(期末)(闭卷)
专业 班级 姓名 学号
题 号 得 分 评卷人 一 二 三 四 五 六 七 八 总 分 注意:所有试题的答案必须写在答卷纸上。
一、单项选择题(本大题共20小题,每小题1分,共20分)
1. 编译Java应用程序源文件将产生相应的字节码文件,这些字节码文件的扩展名为( )
A.java B.class C.html D.exe
2. 在Java Applet程序用户自定义的Applet子类中,一般需要覆盖父类的( )方法来完成一些画图操作。
A.start() B.stop() C.init() D.paint() 3. 不允许作为类及类成员的访问控制符的是( ) A.public B.private C.static D.protected
4. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ? ( )
A.ArrayList myList=new Object(); B.List myList=new ArrayList(); C.ArrayList myList=new List(); D.List myList=new List(); 5. 指出正确的表达式 ( )
A.byte=128; B.Boolean=null; C.long l=0xfffL; D.double=0.9239d; 6. 指出下列程序运行的结果 ( ) public class Example{
String str=new String(\ 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+\
《面向对象程序设计_Java》(B卷)第 1页 /(共 13页)
Sytem.out.print(ex.ch); }
public void change(String str,char ch[]){ str=\ ch[0]='g'; } }
A.good and abc B.good and gbc C.test ok and abc D.test ok and gbc 7. 运行下列程序, 会产生什么结果 ( )
public class X extends Thread implements Runable{ public void run(){
System.out.println(\ }
public static void main(String args[]) {
Thread t=new Thread(new X()); t.start(); } }
A.第一行会产生编译错误 B.第六行会产生编译错误 C.第六行会产生运行错误 D.程序会运行和启动
8. 容器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( )
A.CardLayout B. FlowLayout C.BorderLayout D.GridLayout
9. 为ClassOne类的一个无形式参数无返回值的方法methodOne书写方法头,使得使用类名ClassOne作为前缀就可以调用它,该方法头的形式为( ) A. static void methodOne() B. public void methodOne() C. final void methodOne() D. abstract void methodOne() 10. 下列哪些语句关于内存回收的说明是正确的? ( )
A.程序员必须创建一个线程来释放内存;B.内存回收程序负责释放无用内存 C.内存回收程序允许程序员直接释放内存 D.内存回收程序可以在指定的时间释放内存对象
《面向对象程序设计_Java》(B卷)第 2页 /(共 13页)
11. 哪个关键字可以抛出异常? ( )
A.transient B.finally C.throw D.static
12. 在Java语言中,不允许使用指针, 这样体现出的Java特性是( ) A.可移植性 B.解释执行 C.动态性
D.安全性
13. 下列方法中,不属于WindowListener接口的是( ) A.WindowOpened() B.WindowClosed() C.WindowActivated() D.MouseDragged() 14. 线程生命周期中,正确的状态是()
A.新建状态、运行状态和终止状态 B.新建状态、运行状态、阻塞状态和终止状态 C.新建状态、可运行状态、运行状态、阻塞状态和终止状态 D.新建状态、可运行状态、运行状态、恢复状态和终止状态 15. 阅读下列代码
public class Test { }
public static void main(String args[]) { }
String s = \switch (s) { case \ }
System.out.println(\break;
System.out.println(\break;
System.out.println(\break;
case \
case \
其运行结果是( )
A.Java B.Language C.Test D.编译出错 16. Thread类中启动线程体的方法是( ) A.start B.init C.resume D.run 17. 在Java语言中,与数据库连接的技术是( )
A.Oracle B.JDBC C.windows驱动程序 D.数据库厂家的连接协议 18. Java中复合数据类型不包括( )
A.类类型 B.数组 C.接口类型 D.指针
19. 关于被保护访问控制符protected修饰的成员变量,以下说法正确的是( )
《面向对象程序设计_Java》(B卷)第 3页 /(共 13页)
A.可以被该类自身、与它在同一个包中的其它类、在其他包中的该类的子类所访问 B.只能被该类本身和该类的所有的子类访问 C.只能被该类自身所访问 D.只能被同一个包中的类访问
20. Java不支持多重继承,但可以通过( )实现 A.多态 B.接口 C.覆盖 D.抽象类
二、程序阅读题, 阅读下面的程序,给出运行结果。(本大题共8小题,每小题5分,共40分)
1、public class Unchecked {
public static void main(String[] args) { try {
method();
} catch (Exception e) {
System.out.println(\ } finally {
System.out.println(\ } }
static void method() { try {
wrench();
System.out.println(\
} catch (ArithmeticException e) { System.out.println(\ } finally {
System.out.println(\ }
System.out.println(\ }
static void wrench() {
throw new NullPointerException(); } }
2、 class A {
double f(double x, double y) { return x * y; } }
class B extends A {
《面向对象程序设计_Java》(B卷)第 4页 /(共 13页)
double f(double x, double y) { return x + y; } }
public class Test {
public static void main(String args[]) { B obj = new B();
System.out.println(\program output is \+ obj.f(4, 6)); } }
3. import java.io.*;
class Parent { }
class Child extends Parent { }
public class A { }
public static void main(String args[]) { }
Child myC = new Child(); myC.printAll(); void printMe() { }
void printAll() { }
super.printMe(); printMe();
System.out.println(\void printMe() { }
System.out.println(\
4. public class Yang{
public static void main(String[] args){
int[][] pas=new int[4][]; //声明二维数组 for(int i=0;i pas[i]=new int[i+1]; pas[i][0]=1; pas[i][i]=1; for(int j=0;j pas[i][j]=pas[i-1][j-1]+pas[i-1][j]; 《面向对象程序设计_Java》(B卷)第 5页 /(共 13页)