技术开发 频道

Java程序员认证模拟题及详细分析(1)


21. Which is the main() method return of a application?

A. String
B. byte
C. char
D. void
 
22. Which is corrected argument of main() method of application?
 
A. String args
B. String ar[]
C. Char args[][]
D. StringBuffer arg[]
 
23. The Employee object is a person, An Employee has appointment store in a vector, a hire date and a number of dependent
short answer: use shortest statement declare a class of Employee.
 
24. Give the following class defination inseparate source files:
 
public class Example{
public Example(){//do something}
protected Example(int i){//do something}
protected void method(){//do something}
}
public class Hello extends Example{//member method and member variable}
 
Which methods are corrected added to the class Hello?
 
A. public void Example(){}
B. public void method(){}
C. protected void method(){}
D. private void method(){}
 
25.
Float s=new Float(0.9F);
Float t=new Float(0.9F);
Double u=new Double(0.9);
Which expression?s result is true?
 
A. s==t
B. s.equals(t)
C. s==u
D. t.equals(u)
 
答案及详细分析:
 
1.B、E
  JAVA的垃圾回收机制是通过一个后台系统级线程对内存分配情况进行跟踪实现的,对程序员来说是透明的,程序员没有任何方式使无用内存显示的、立即的被释放。而且它是在程序运行期间发生的。
  答案B告诉我们程序员可以使一个本地变量失去任何意义,例如给本地变量赋值为null;答案E告诉我们在程序运行期间不可能完全释放内存。
 
2.D
  第6行将null赋值给a以后,a以前保存的引用所指向的内存空间就失去了作用,它可能被释放。所以对象a可能最早被垃圾回收是在第7行以前,故选择D选项。
 
3.B
  请查阅JAVA类库。getID方法的返回值是event type。在认证考试中,总会有类似的书本以外的知识,这只能靠多实践来增长知识了。
 
4.A、D
  控件可以同时使用多个addXxxxListener方法加入多个监听器。并且当多个监听器加入到同一控件中时,事件可以响应多个监听器,响应是没有固定顺序的。
 
5.D、F
 
  本题主要考察考生对流程控制的掌握情况。这是当型循环,条件为真执行,条件为假则退出。循环体至少执行一次,故会输出D。循环体以外的语句总会被执行,故输出F。
 
6.B、C
  在开关语句中,标号总是不被当做语句的一部分,标号的作用就是做为条件判断而已,一旦匹配成功,就执行其后的语句,一直遭遇break语句为止。(包括default语句在内)
 
7.D、F
  IOException异常类是Exception的子类。根据多态性的定义,IOException对象也可以被认为是Exception类型。还要注意在方法声明中抛出异常应用关键字throws
 
8.D
  只有两种情况:大于4时输出Test1,小于等于4时输出Test3
 
9.A、C、D
  在正常情况下,打印Test1、Test3、Test4;在产生可捕获异常时打印Test2、Test3、Test4;在产生不可捕获异常时,打印Test3,然后终止程序。注意finally后面的语句总是被执行。
 
10.B
  线程的执行是从方法run( )开始的,该方法是由系统调用的。程序员手工调用方法start(),使线程变为可运行状态。
 
11.A
  此题考查内部类及关键字super的用法。内部类不能与外部类同名。另外,当B继承A时,A中的构造函数是带参数的,B中缺省构造函数的函数体为空;而JAVA编译器会为空构造函数体自动添加语句super();调用父类构造函数,更进一步是调用父类的参数为空的构造函数。而父类中没有参数为空的构造函数。
 
12.A
  此关键字可以在两个线程同时试图访问某一数据时避免数据毁损。
 
13.C
  当一个类中未显式定义构造函数时,缺省的构造函数是以类名为函数名,参数为空,函数体为空。虽然父类中的某一构造函数有字符串参数s,但是子类继承父类时并不继承构造函数,所以它只能使用缺省构造函数。故在第11行出错。
 
14.A、B
  注意,题中问的是如何正确声明一个一维数组,并非实例化或者初始化数组。
 
15.A、E
  X处可以是一个输入,包的定义,类的定义。由于常量或变量的声明只能在类中或方法中,故不能选择C;由于在一个文件中只能有一个public类,故不能选择D。
 
16.B
  静态方法除了自己的参数外只能直接访问静态成员。访问非静态成员,必须先实例化本类的一个实例,再用实例名点取。
 
17.A、B、D
  polygon的顶点信息存放在Vector类型的对象内部,color定义为Color,length和width定义为int。这是考试中常见的题型。
 
18.C
  此题考点是高级访问控制。请考生查阅高级访问控制说明表格。
 
19.B
  native关键字指明是对本地方法的调用,在JAVA中是只能访问但不能写的方法,它的位置在访问权限修饰语的后面及返回值的前面。
 
20.final
  定义常量的方法是在变量定义前加final关键字。
 
21.D
  main()方法没有返回值,所以必须用void修饰。main()方法的返回值不能任意修改。
 
22.B
  main()方法的参数是字符串数组,参数名可以任意定义。
 
23.public class Employee extends Person
  这也是真实考试中常见的一种题型。要注意题目叙述中is a表示 extends的含义。
 
24.A、B、C
  考察的知识点是方法覆盖,其中要注意的是方法覆盖时,子类方法的访问权限不能小于父类方法的访问权限。另外,选项A并不是父类构造函数,它是子类中的新方法。
 
25.A、B
  考察==及方法equals()的用法。注意以下几点区别:
  1) 引用类型比较引用;基本类型比较值。
  2) equals()方法只能比较引用类型,==可比较引用及基本类型。
  3) 当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper Class)来说,是比较类型及内容。
  4) 用==进行比较时,符号两边的数据类型必须一致(可相互转换的基本类型除外),否则编译出错。
0
相关文章