1. 如下代碼
class A {
A() { }
}
class B extends A {
}
哪兩個(gè)說(shuō)明是正確的?
A. B類(lèi)的構(gòu)造器應(yīng)該是 public.
B. B類(lèi)的構(gòu)造器應(yīng)該是沒(méi)有參數(shù)
C. B類(lèi)的構(gòu)造器應(yīng)該調(diào)用this().
D. B類(lèi)的構(gòu)造器應(yīng)該調(diào)用super().
答案:BD
解析:默認(rèn)構(gòu)造器的修飾符只跟當(dāng)前類(lèi)的修飾符有關(guān)。 比如B如果是public的,則默認(rèn)構(gòu)造方法是public的。 如果B是默認(rèn)的訪問(wèn)權(quán)限,則構(gòu)造方法相同。 當(dāng)B是內(nèi)部類(lèi)是,前面也可以有protected,private等,默認(rèn)添加的構(gòu)造方法仍然和類(lèi)的修飾符一致。
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);
}
}
輸出結(jié)果是什么?
A. 0
B. 1
C. 2
D. 編譯失敗
答案:D
解析:static在Java語(yǔ)言中的使用有四種:(成員變量、成員方法、代碼塊、內(nèi)部類(lèi))
3. 如下代碼
int i =1,j =10;
do {
if(i > --j) {
continue;
}
} while (i <5);
System.out.println("i = " i "and j = " j);
輸出結(jié)果是什么?
A. i = 6 and j = 5
B. i = 5 and j = 5
C. i = 6 and j = 5
D. i = 5 and j = 6
E. i = 6 and j = 6
答案:D
4. 如下代碼:
boolean bool = true;
if(bool = false) {
System.out.println("a");
} else if (bool) {
System.out.println("c");
} else if (!bool) {
System.out.println("c");
} else {
System.out.println("d");
}
輸出結(jié)果是什么?
A. a
B. b
C. c
D. d
E. 編譯失敗
答案:C
5. 如下代碼:
public class SwitchTest {
public static void main(String[] args) {
System.out.println("value = " switchIt(4));
}
public static int switchIt(int x) {
int j = 1;
switch (x) {
case 1: j ;
case 2: j ;
case 3: j ;
case 4: j ;
case 5: j ;
default: j ;
}
return j x;
}
}
輸出結(jié)果是什么?
A. value = 3
B. value = 4
C. value = 5
D. value = 6
E. value = 7
F. value = 8
答案:F
6. 以下數(shù)組的定義,哪三條是正確的?
A. public int a []
B. static int [] a
C. public [] int a
D. private int a [3]
E. private int [3] a []
F. public final int [] a
答案:A,B,F
7. 如下代碼:
class Super {
public Integer getLenght() { return new Integer(4); }
}
public class Sub extends Super {
public Long GetLenght() { return new Long(5); }
public static void main(String[] args) {
Super sooper = new Super();
Sub sub = new Sub();
System.out.println(sooper.getLenght().toString() ","
sub.getLenght().toString() );
}
}
輸出是什么?
A. 4,4
B. 4,5
C. 5,4
D. 5,5
E. 編譯失敗.
答案:A
8. 在接口中以下哪條定義是正確的? (兩個(gè)答案)
A. void methoda();
B. public double methoda();
C. public final double methoda();
D. static void methoda(double d1);
E. protected void methoda(double d1);
答案:A,B
9. 如下代碼:
public void test(int x) {
int odd = x%2;
if (odd) {
System.out.println("odd);
} else {
System.out.println("even");
}
}
哪個(gè)描述正確?
A. 編譯失敗.
B. "odd" 永遠(yuǎn)被輸出.
C. "even" 永遠(yuǎn)被輸出
D. "odd" 輸出x的值,
E. "even" 輸出x的值
答案:A
10. 如下代碼:
public class X {
public X aMethod() { return this;}
}
public class Y extends X {
}
哪兩個(gè)方法能加到Y(jié)類(lèi)的定義中?
A. public void aMethod() {}
B. private void aMethod() {}
C. public void aMethod(String s) {}
D. private Y aMethod() { return null; }
E. public X aMethod() { return new Y(); }
答案:E,?