1. 如下代码
class A {
A() { }
}
class B extends A {
}
哪两个说明是正确的?
A. B类的构造器应该是public.
B. B类的构造器应该是没有参数
C. B类的构造器应该调用this().
D. B类的构造器应该调用super().
答案:BD
解析:默认构造器的修饰符只跟当前类的修饰符有关。比如B如果是public的,则默认构造方法是public的。如果B是默认的访问权限,则构造方法相同。当B是内部类是,前面也可以有protected,private等,默认添加的构造方法仍然和类的修饰符一致。
2. 如下代码
public class Test {
public int aMethod() {
static int i = 0;
i ;
return i;
}
public static void main (String args[]) {
Test test = new Test();
test.aMethod();
int j = test.aMethod();
System.out.println(j);
}
}
输出结果是什么?
A. 0
B. 1
C. 2
D. 编译失败
答案:D
解析:static在Java语言中的使用有四种:(成员变量、成员方法、代码块、内部类)
3. 如下代码
int i =1,j =10;
do {
if(i > --j) {
continue;
}
} while (i <5);
System.out.println("i = " i "and j = " j);