改。
例题32:
Which is corrected argument of main() method of application?
A. String args
B. String ar[]
C. Char args[][]
D. StringBuffer arg[] 解答:B
点评:main()方法的参数是字符串数组,参数名可以任意定义。
例题33:
“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. 解答:public class Employee extends Person
点评:这也是真实考试中常见的一种题型。要注意题目叙述中“is a”表示 “extends”的含义。 例题34:
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(){} 解答:A,B,C
点评:考察的知识点是方法覆盖,其中要注意的是方法覆盖时,子类方法的访问权限不能小于父类方法的访问权限。另外,选项A并不是父类构造函数,它是子类中的新方法。
例题35:
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)
解答:A,B
点评:考察“==”及方法“equals()”的用法。注意以下几点区别: 1) 引用类型比较引用;基本类型比较值。
2) equals()方法只能比较引用类型,“==”可比较引用及基本类型。
3) 当用equals()方法进行比较时,对类File、String、Date及封装类(Wrapper Class)来说,是比较类型及内容。
4) 用“==”进行比较时,符号两边的数据类型必须一致(可相互转换的基本类型除外),否则编译出错。
1. Which of the following range of short is correct?
A. -27 -- 27-1 B. 0 -- 216-1 C. ?215 -- 215-1 D. ?231 -- 231-1
翻译下面哪些是short型的取值范围。
答案:C
解析:短整型的数据类型的长度是16 bits,有符号。另外需要说明的是java中所有的整(Integral)数(包括byte,short,int,long)全是有符号的。
2. Which declarations of identifiers are legal?
A. $persons B. TwoUsers C. *point D. this
E. _endline
翻译下面哪些是合法的标识符。 答案:A,B,E
解析:Java的标识符可以以一个Unicode字符,下滑线(_),美元符($)开始,后续字符可以是前面的符号和数字,没有长度限制,大小写敏感,不能是保留字。 3. Which statement of assigning a long type variable to a hexadecimal value is correct?
A. long number = 345L; B. long number = 0345; C. long number = 0345L; D. long number = 0x345L
翻译哪些是将一个十六进制值赋值给一个long型变量。 答案:D
解析:十六进制数以0x开头,long型数以L(大小写均可,一般使用大写,因为小写的l和数字1不易区分)。 4.Which of the following fragments might cause errors?
A. String s = \ String t = \ String k = s + t;
B. String s = \ String t; t = s[3] + \
C. String s = \ String standard = s.toUpperCase(); D. String s = \
String t = s - \
翻译下面的哪些程序片断可能导致错误。 答案:B,D 解析:
A:String类型可以直接使用+进行连接运算。
B:String是一种Object,而不是简单的字符数组,不能使用下标运算符取其值的某个
元素,错误。
C:toUpperCase()方法是String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果(String类型)。
D:String类型不能进行减(-)运算,错误。 5. Which are syntactically valid statement at// point x? class Person { private int a;
public int change(int m){ return m; } }
public class Teacher extends Person { public int b;
public static void main(String arg[]){ Person p = new Person(); Teacher t = new Teacher(); int i; // point x } }
A. i = m; B. i = b; C. i = p.a;
D. i = p.change(30); E. i = t.b.
翻译在// point x处的哪些申明是句法上合法的。 答案:D,E 解析:
A:m没有被申明过,不能使用。
B:虽然b是类Teacher的public成员变量,但是在静态方法中不能使用类中的非静态成员。
C:a是类Person的private成员,在类外不能直接引用。
D:change(int m)方法是public方法,并且返回一个int型值,可以通过类的实例变量p引用并赋值给一个int型变量。
E:b是类Teacher的public成员变量,且是int型,可以通过类的实例变量t引用并赋值给一个int型变量。
6. Which layout manager is used when the frame is resized the buttons's position in the Frame might be changed?
A. BorderLayout B. FlowLayout C. CardLayout
D. GridLayout
翻译当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局
管理器。 答案:B
解析:
A:该布局管理器将容器划分为五个部分,容器大小的改变不会影响其中的组件的位置而是影响他们的大小。
B:该布局管理器根据放入其中的组件的最合适大小调整组件的位置,根据组件放入的顺序安排,一行不能容纳时放入下一行,因此容器的大小改变可能改变组件的位置。
C:该布局管理器显示放入该容器的当前页中的组件,一次显示一个,容器大小的改变不能影响其中组件的位置。
D:该布局管理器将容器划分为固定的网格,组件加入后占据一个单元,各组件的相对位置不会因为容器的大小变化而变化,改变的只是组件的大小。 7. Given the following code fragment: 1) public void create() { 2) Vector myVect; 3) myVect = new Vector();
4) }
Which of the following statements are true?
A. The declaration on line 2 does not allocate memory space for the variable myVect. B. The declaration on line 2 allocates memory space for a reference to a Vector object.
C. The statement on line 2 creates an object of class Vector. D. The statement on line 3 creates an object of class Vector.
E. The statement on line 3 allocates memory space for an object of class Vector 翻译
给出下面的代码片断。。。下面的哪些陈述为true(真)?
A. 第二行的声明不会为变量myVect分配内存空间。 B. 第二行的声明分配一个到Vector对象的引用的内存空间。 C. 第二行语句创建一个Vector类对象。 D. 第三行语句创建一个Vector类对象。 E. 第三行语句为一个Vector类对象分配内存空间。 答案:A,D,E 解析:
SL-275中指出:要为一个新对象分配空间必须执行new Xxx()调用,new调用执行以下的操作:
1.为新对象分配空间并将其成员初始化为0或者null。
2.执行类体中的初始化。(例如在类中有一个成员声明int a=10;在第一步后a=0 ,执行到第二步后a=10)
3.执行构造函数。
4.变量被分配为一个到内存堆中的新对象的引用。
8. Which of the following answer is correct to express the value 8 in octal number?
A. 010