北京邮电大学2010——2011学年第一学期
《JAVA高级语言程序
》期末考试试
(A)
考试注意事项
一、学生参加考试须带学生证或学院证明,未带者不准进入考场。学生必须按照监考教师指定座位就坐。
二、
本、参考资料、书包等物品一律放到考场指定位置。
三、学生不得另行携带、使用稿纸,要遵守《北京邮电大学考场规则》,有考场违纪或作弊行为者,按相应规定严肃处理。
四、学生必须将答题内容做在试题答卷上,做在草稿纸上一律无效。
五、学生的姓名、班级、学号、班内序号等信息由教材中心统一印制。
考试
课程
JAVA高级语言程序设计
考试时间
2011 年 01 月 19 日
题号
一
二
三
四
五
六
七
八
总分
满分
40
20
18
12
10
得分
阅卷
教师
一. 单项选择题:(每题2分,共40分)
1. Java源文件和编译后的文件扩展名分别为( )
A) class和.java
B) java和.class
C) class和.class
D) java和.java
2. 下列关于 Java Application 与 Applet 的说法中,正确的是( )。
A)都包含 main( )
B)都通过“appletviewer”命令执行
C)都通过“javac”命令编译
D)都嵌入在 HTML 文件中执行
3. 对于可以独立运行的Java应用程序,下列( )说法是正确的。
A) 无须main方法
B) 必须有两个main方法
C) 可以有多个或零个main方法
D) 必须有一个main方法
4. 现有一整型数组a[4],它的所有数组元素是( )。
A) a0, a1, a2, a3
B) a[0], a[1], a[2], a[3]
C) a[1], a[2], a[2], a[4]
D) a[0], a[1], a[2], a[3], a[4]
5. 现有两个类A、B,以下语句中正确
示B继承自A的是( )。
A) class A extends B
B) class B implements A
C) class A implements B
D) class B extends A
6. 若一个类中对某个方法进行了重载,编译器通过( )区分这些重载方法。
A) 方法返回值类型的不同
B) 方法名称的不同
C) 方法参数表的不同
D) 方法的修饰符不同
7. 下列关于注释语句的描述中,正确的一项是( )
A) 以//开始的是多行注释语句
B) 以/*开始,*/结束的是单行注释
C) 以/**开始,*/结束的是可以用于生成帮助文档的注释语句
D) 以/**开始,*/结束的是单行注释语句
8. 以下关于构造函数的描述错误的是( )
A) 构造函数的返回类型只能是void型。
B) 构造函数是类的一种特殊函数,它的方法名必须与类名相同。
C) 构造函数的主要作用是完成对类的对象的初始化工作。
D) 在创建新对象时,系统会自动调用构造函数。
9. 假设A类有如下定义,设a是A类的一个实例,下列语句调用中( )是错误的。
class A {
int i;
static String s;
void method1( ) { }
static void method2( ) { }
}
A) System.out.println(a.s);
B) a.method1( );
C) A.method1( );
D) A.method2( )
10. 在Java语言中,Panel默认的布局管理器是( )
A) BorderLayout
B) FlowLayout
C) GridLayout
D) GridBagLayout
11. 哪个关键字可以抛出异常? ( )
A) transient
B) finally
C) throws
D) static
12. 下面( )修饰符所定义的方法必须被子类重写。
A) final
B) abstract
C) protected
D) static
13. Java中哪个类提供了随机访问文件的功能( )
A) RandomAccessFile类
B) RandomFile类
C) File类
D) AccessFile类
14. 已知类关系如下:
class Employee{…};
class Manager extends Employee{…};
则以下关于创建对象的语句不正确的是:( )
A) Employee e=new Manager( );
B) Employee m=new Employee( );
C) Manager c=new Manager( );
D) Manager d=new Employee( );
15. 已知关系如下:
interface A{……}
class B implements A{……}
则下面语句正确的是:( )
A) A a = new A( );
B) B b = new A( );
C) A a = new B( );
D) A a = new B( ); B b = a;
16. 关于Java输入输出流,下列说法正确的是( )。
A) FileReader类和FileInputSream类都是按照字节读取的。
B) FileReader类和FileInputSream类都是按照字符读取的。
C) FileReader类是按照字节读取的,而FileInputSream类是按照字符读取的。
D) FileReader类是按照字符读取的,而FileInputSream类是按照字节读取的。
17. 当编译和运行下列程序段时,会发生什么( )
public class Foo{
public static void main(String[] args){
try{
return;
}
finally{
System.out.println("Finally");
}
}
}
A) 程序正常运行,但不输出任何结果。
B) 程序正常运行,并输出 "Finally"。
C) 编译能通过,但运行时会出现一个例外。
D) 因为没有catch语句块,所以不能通过编译。
18. 下面关于paintComponent方法的说法不正确的是( )
A) 窗口第一次出现时,会调用该方法;
B) 窗口大小改变时,会调用该方法;
C) 可通过repaint( )间接调用该方法;
D) 程序员必须手动调用该方法;
19. 下面关于AWT的事件的说法不正确的是( )
A) AWT采用授权处理机制来处理事件;
B) 监听器对象是实现相应的监听器接口的类的对象;
C) KeyEvent是语义事件,
D) 按钮点击事件的监听器对象必须实现ActionListener接口;
20. 下面语句中,哪一条语句正确实现了将一个JMenuBar对象menubar加到一个窗体对象frame中( )
A) frame.add(menubar);
B) frame.setJMenuBar(menubar);
C) frame.setMenu(menubar);
D) frame.addJMenuBar(menubar);
二、判断题,请在正确的命题前打“√”错误的命题前打“×”:(每题2分,共20分)
( )1、数据流是从源端到目地端的无序序列。
( )2、类的public类型的成员变量不可以被继承。
( )3、Java类中不能存在同名的两个成员函数。
( )4、通过定义逻辑字体名,JAVA可以实现在不知道本机字体情况下,对字体进行设置。
( )5、监听器对象必须注册到相关的事件源上,才能对事件源上发生的事件进行监听。
( )6、运行时异常必须被捕获。
( )7、Swing采用了模型-视图-控制器的设计模式。
( )8、类实现一个接口,则在类中一定要实现接口中的所有方法。
( )9、任何一个类都有一个名为equals的方法。
( )10、在Swing用户界面的程序设计中,容器可以被添加到其它容器中去。
三.描述下列程序段实现的功能(18分,每题6分)
1、class CenteredFrame extends JFrame{
public CenteredFrame(){
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension ds = tk.getScreenSize();
int width = ds.width;
int hight = ds.height;
setSize(width/2,hight/2);
setLocation(width/4,hight/4);
setTitle("Centered Frame");
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2、class ButtonPanel1 extends JPanel{
public ButtonPanel1(){
makeButton("Yellow",Color.YELLOW);
makeButton("Red",Color.RED);
makeButton("Green",Color.GREEN);
}
public void makeButton(String name, final Color c){
JButton b = new JButton(name);
add(b);
b.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
setBackground(c);