Java程序员认证模拟试题及详细分析(下)
答案及详细分析:
1。B、E
答案B告诉我们程序员可以使一个本地变量失去任何意义,例如给本地变量赋值为"null";答案E告诉我们在程序运行期间不可能完全释放内存。
第6行将null赋值给a以后,a以前保存的引用所指向的内存空间就失去了作用,它可能被释放。所以对象a可能最早被垃圾回收是在第7行以前,故选择D选项。
请查阅JAVA类库。getID方法的返回值是"event type"。在认证考试中,总会有类似的书本以外的知识,这只能靠多实践来增长知识了。
控件可以同时使用多个"addXxxxListener"方法加入多个监听器。并且当多个监听器加入到同一控件中时,事件可以响应多个监听器,响应是没有固定顺序的。
本题主要考察考生对流程控制的掌握情况。这是当型循环,条件为真执行,条件为假则退出。循环体至少执行一次,故会输出D。循环体以外的语句总会被执行,故输出F。
在开关语句中,标号总是不被当做语句的一部分,标号的作用就是做为条件判断而已,一旦匹配成功,就执行其后的语句,一直遭遇break语句为止。(包括default语句在内)
IOException异常类是Exception的子类。根据多态性的定义,IOException对象也可以被认为是Exception类型。还要注意在方法声明中抛出异常应用关键字"throws"。
只有两种情况:大于4时输出"Test1",小于等于4时输出"Test3"。
在正常情况下,打印Test1、Test3、Test4;在产生可捕获异常时打印Test2、Test3、Test4;在产生不可捕获异常时,打印Test3,然后终止程序。注意finally后面的语句总是被执行。
线程的执行是从方法"run( )"开始的,该方法是由系统调用的。程序员手工调用方法start(),使线程变为可运行状态。
此题考查内部类及关键字"super"的用法。内部类不能与外部类同名。另外,当B继承A时,A中的构造函数是带参数的,B中缺省构造函数的函数体为空;而JAVA编译器会为空构造函数体自动添加语句"super();"调用父类构造函数,更进一步是调用父类的参数为空的构造函数。而父类中没有参数为空的构造函数。
此关键字可以在两个线程同时试图访问某一数据时避免数据毁损。
当一个类中未显式定义构造函数时,缺省的构造函数是以类名为函数名,参数为空,函数体为空。虽然父类中的某一构造函数有字符串参数s,但是子类继承父类时并不继承构造函数,所以它只能使用缺省构造函数。故在第11行出错。
注意,题中问的是如何正确声明一个一维数组,并非实例化或者初始化数组
X处可以是一个输入,包的定义,类的定义。由于常量或变量的声明只能在类中或方法中,故不能选择C;由于在一个文件中只能有一个public类,故不能选择D。
静态方法除了自己的参数外只能直接访问静态成员。访问非静态成员,必须先实例化本类的一个实例,再用实例名点取。
polygon的顶点信息存放在Vector类型的对象内部,color定义为Color,length和width定义为int。
18。C
19。B
20。final
21。D
22。B
23。public class Employee extends Person
24。A、B、C
25。A、B
1) 引用类型比较引用;基本类型比较值。
3) 当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper Class)来说,是比较类型及内容。
26。A、C、E
27。E
28。B、D、E
29。E
30。C、D
31。A
32。A(多选)
33。A、D
34。A、B、D、E
35。D
36。C
37。A
38。014
39。0x7
40。B
41。B
42。B
43。A
44。B
45。B
46。B
47。this(a,b);
48。C、D、E
49。A、E
50。C
51。A、B
52。D |||
53。C
54。MouseEvent
55。B、C
>" 是带符号右移,高位是"1"则补"1",否则补"0";">>>"是无符号右移,又叫补零右移,不论高位是什么,都是补"0"。
56。A、E
57。A
58。D
59。C
60.A
61.B
以下定义都是允许的:
String s = {"Hello","abc"};
所以只有B选项是正确。
所有自定义异常,在方法体中抛出了,就必须在方法声明中抛出。所以除了C选项外,E也必须入选。
逻辑运算符"&&"、"||",在运算中有"短路"行为:例如 A&&B,如果A的值为false,则直接将整个表达式的值置为false,对B的值不加考察。而运算符"&"、"|"就没有这种行为。所以在选项A、C中,"s.length()"会导致抛出空指针异常。
源程序的第27行,是多态性的定义。对象b调用被覆盖方法时是调用子类中的该方法。
一个控件可以注册多个监听器,并且事件的响应没有特定的顺序。句柄方法的参数是类AWTEvent类的子类。
main()方法是静态方法,静态方法不能直接访问非静态成员。
此题考察学生对内部类属性的掌握情况。内部类可以实现接口;匿名类是内部类的一种;内部类通过各种方式可以在包含它的类的外部被访问到;内部类被定义在块中时,只能访问包含它的块的final类型变量。故选择D。
此题考察考生对类GridBagLayout、及类GridBagConstraints的掌握情况,请考生查阅API文档。
此题考察考生对事件处理的理解。D选项是错的,因为控件可以监听自己的事件。另外,当实现一个接口时,必须实现它内部的所有的方法,所以E选项也是错的。
命令行参数是紧跟在类名后面的。所以本题中参数由"cat"提供。
在完全封装类中,一般的定义方式是将所有的成员变量定义为"private",而将访问这些变量的方法定义为非"private"类型,这样可以在类的外部间接地访问这些变量。所以E选项是最符合这个意思的。
此题考察"Collection API"的一些知识。实现接口"Set"的类内部所存储的对象是没有顺序,但是允许重复的。另请注意其它几个接口的特征。
当新线程被创建时,只是使它变为可运行状态而已,并不能使当前线程停止执行。当调用read()方法时,它与输入输出打交道,可能造成线程的暂停执行。
程序的执行完毕是以用户线程(user threads)的结束而标志结束的,与超级线程(daemon threads)无关。所以D选项是对的。E选项说明的是当不同线程对相同数据进行访问时,可能造成数据毁损。
76.B、D
编辑推荐:
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
点击加载更多评论>>