《面向对象程序设计》综合复习资料一、判断题(正确打√,错误打×)1、类及其属性、方法不能同时有一个以上的修饰符来修饰。
2、对象可以赋值,赋值的结果是2个对象实际上是同一个对象。
3、在异常处理中,1个try只能对应1个catch语句。
4、Java中,创建对象用new,但无需释放无用的对象。
5、Java的屏幕坐标以像素为单位,容器的右下角被确定为坐标的起点。
6、在定义数组变量时不能直接进行内存分配,必须使用new来生成数组。
7、成员变量,可通过类名直接访问,也可通过该类的对象访问。
8、类定义时可以不定义构造函数。
9、Java和C一样都是编译型语言。
10、一个Java类可以实现多个接口。
11、一个抽象类不能直接用new命令创建对象。
12、Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
13、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。
14、一个类中可以定义多个构造方法。
15、final类不能派生子类,final方法不能被子类改写。
16、一个Java源文件中允许有多个public类。
17、使用方法length( )可以获得字符串或数组的长度。
18、容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
19、Java Applet是由独立的解释器程序来运行的。
二、选择题1、下面表达式中,用来访问数组中第一个值的是()。
A、int Array[0]B、int Array.1C、int Array[1]D、int Array.02、阅读以下代码,回答下面问题:for (int x=10; x>0; x--) { System.out.println(i); }在这段代码中,每一次循环时,首先执行()语句。
A、int x=10B、x>0C、x--D、System.out.println(i)3、用来区别每一个switch分支的保留字是()。
A、choiceB、conditionC、caseD、break4、下面数据类型中()占用的空间最大。
A、floatB、intC、byteD、double5、如果定义一个名为apple的类,那么存储这个类的源文件名是()。
A、apple.javaB、apple.byteC、apple.classD、apple6、在Java语言中,单选框类名是()。
A、LabelB、CheckboxC、ButtonD、CheckButton7、假设有一个列表框listbox1,要在其最后添加一项,应使用()语句。
A、listbox.add("The end item", 0)B、listbox.add("The end item", 10)C、listbox.add("The end item", -1)D、listbox.add("The end item", 1)8、在程序中(),就能够防止因为在一行中输入过多的文本,而使文本区ta变宽。
A、不需要做任何考虑B、ta.noWrap()C、ta.setLineWrap(false)D、ta.setLineWrap(true)9、使用()位置参数,能够使一个部件位于容器的右边。
A、BorderLayout.EASTB、BorderLayout.WESTC、BorderLayout.NORTHD、BorderLayout.RIGHT10、如果想让某方法不能被任何外部类访问,应使用访问说明符()定义。
A、publicB、privateC、defaultD、protected11、边框布局管理器将一个“容器”分成了()个位置。
A、9个B、3个C、5个D、4个12、()是网格布局管理器。
A、BorderLayoutB、FlowLayoutC、ReseauLayoutD、GridLayout13、()为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A、static void method( )B、public void method( )C、final void method( )D、abstract void method( )14、当一个部件有一个事件发生,但并没有为这个部件的这个事件指定事件监测器,将会发生()。
A、编译时就不会通过B、忽略这个事件C、引起Java程序发生致命错误D、引发默认的事件处理15、下面()是Java语言中的关键字。
A、sizeofB、NULLC、abstractD、Native16、在Java语言中,()包是编译器自动导入的。
A、java.appletB、java.awtC、java.ioD、ng17、以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承18、给出下面代码:public class Person{static int arr[] = new int[10];public static void main(String a[]){System.out.println(arr[1]);}}正确的语句是()。
A、编译时将产生错误B、输出0C、编译时正确,运行时将产生错误D、输出空19、给出下面代码段:1) public class Test {2) int m, n;3) public Test() { }4) public Test(int a) { m=a; }5) public static void main(String arg[]) {6) Test t1, t2;7) int j, k;8) j = 0; k = 0;9) t1 = new Test();10) t2 = new Test(j, k);11) }12) }()将引起一个编译时错误。
A、line 5B、line 4C、line 10D、line 620、对于下列代码:1) class Person {2) public void printValue(int i, int j) {//... }3) public void printValue(int i){//... }4) }5) public class Teacher extends Person {6) public void printValue() {//... }7) public void printValue(int i) {//...}8) public static void main(String args[]){9) Person t = new Teacher();10) t.printValue(10);11) }12) }第10行语句将调用()语句。
A、line 2B、line 7C、line 6D、line 321、结构化程序设计的一种基本方法是()。
A、筛选法B、递归法C、归纳法D、逐步求精法22、下列()表达的类声明是正确的。
A、abstract final class HI{……}B、abstract private move(){……}C、protected private number;D、public abstract class Car{……}23、public class Test2006public static void main(String args[]) { System.out.println(~(0xa5)&0xaa); }}其运行结果是()。
A、0xa5B、10C、0x50D、0xaa24、异常包含()。
A、程序中的语法错误B、程序的编译错误C、程序执行过程中遇到的事先没有预料到的情况D、程序事先定义好的可能出现的意外情况25、如果希望所有的控件在界面上均匀排列,应使用下列()布局管理器。
A、BoxLayoutB、GridLayoutC、BorderLayoutD、FlowLayout26、Java语言使用的字符码集是()。
A、ASCIIB、BCDC、DCBD、Unicode27、阅读下列代码public class Test {public static void main(String args[]){ System.out.println(89>>1); }}其运行结果是()。
A、44B、45C、88D、9028、用来导入已定义好的类或包的语句是()。
A、mainB、importC、public classD、class29、下列属于合法的Java标识符是()。
A、"ABC"B、&5678C、+rriwoD、saler30、下列代表16进制整数的是()。
A、0123B、1900C、fa00D、0xa2三、填空题1、在面向对象方法学中,直接反映了用户对目标系统的要求的模型是。
2、下面程序对数组中每个元素赋值,然后按逆序输出。
请在横线处填入适当内容,使程序能正常运行。
public class ArrayTest {public static void main(String args[]) {int i;int a[] = new int[5];for(i=0;i<5;i++) a[i]=i;for( ; i>=0; i--)System.out.println("a["+i+"]="a[i]);}}3、任何一个Java程序都默认引入了一个包,这个包的名字叫java. 。
4、Java语言中,移位运算符包括:>>、<<和。
5、能将显示空间分成很多层的布局管理器是。
6、构件不能独立地显示出来,必须将构件放在一定的中才能显示。
7、Java语言中,有一个类是所有类或接口的父类,这个类的名称是。
8、在1个Java源文件中定义了3个类和15个方法,编译它时会产生个字节码文件,其扩展名是。
9、Applet生命周期方法有init( )、、stop( )和destroy( )。
四、简答题1、简述关键字this与super的区别。
2、简述多态性中重载(overload)与覆盖(override)的区别。
3、简述if/else与switch/case语句的区别。
4、Overload和Override有什么区别?5、abstract class和interface有什么区别?五、编程题1.利用数组求出Hello、Java、Program这3个字符串的平均长度。