1. 如下代码
class A {
A() { }
}class B extends A {
}
哪两个说明是正确的?
A. B类的构造器应该是 public.
B. B类的构造器应该是没有参数
C. B类的构造器应该调用this().
D. B类的构造器应该调用super().
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. 编译失败
3. 如下代码
int i =1,j =10;
do {
if(i++> --j) {
continue;
}
} while (i <5);
System.out.println("i = " +i+ "and j = "+j);
输出结果是什么?
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
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");
}
输出结果是什么?
A. a
B. b
C. c
D. d
E. 编译失败
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;
}
}
输出结果是什么?
A. value = 3
B. value = 4
C. value = 5
D. value = 6
E. value = 7
F. value = 8
6. 以下数组的定义,哪三条是正确的? 
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
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. 编译失败.
8. 在接口中以下哪条定义是正确的? (两个答案)
A. void methoda();
B. public double methoda();
C. public final double methoda();
D. static void methoda(double d1);
E. protected void methoda(double d1);
9. 如下代码:
public void test(int x) {
int odd = x%2;
if (odd) {
System.out.println("odd);
} else {
System.out.println("even");
}
}
哪个描述正确?
A. 编译失败.
B. "odd" 永远被输出.
C. "even" 永远被输出
D. "odd" 输出x的值,
E. "even" 输出x的值
10. 如下代码:
public class X {
public X aMethod() { return this;}
}
public class Y extends X {

}
哪两个方法能加到Y类的定义中? 
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(); }
11. 如下代码:
public class X {
public static void main(String [] args) {
try {
badMethod();
System.out.print("A");
}
catch (Exception ex) {
System.out.print("C");
}
finally {
System.out.print("B");
}
System.out.print("D");
}
public static void badMethod() {
throw new Error();
}
}
结果是什么?
A. ABCD
B. 编译失败.
C. 显示C,退出程序.
D. 显示B,C,退出程序.
E. 显示BCD,退出程序.
12. 如下代码:
class Exc0 extends Exception { }
class Exc1 extends Exc0 { }
public class Test {
public static void main(String args[]) {
try {
throw new Exc1();
} catch (Exc0 e0) {
System.out.println("Ex0 caught");
} catch (Exception e) {
System.out.println("exception caught");
}
}
}
结果是什么?
A. Ex0 caught
B. exception caught
C.第2行出错,编译失败.
D. 第6行出错,编译失败.
13. 以下哪四个能使用throw抛出? 
A. Error
B. Event
C. Object
D. Throwable
E. Exception
F. RuntimeException
14. 如下代码:
public class X (
private static int a;
public static void main(String [] args) {
modify(a);
System.out.println(a);
}
public static void modify(int a) {
a++;
}
}
结果是什么?
A. 0
B. 1
C. 编译失败.
D. 抛出运行时异常.
15. 如下代码:
int i = 0;
for (; i <4; i += 2) {
System.out.print(i + "");
}
System.out.println(i);
输出结果是什么?
A. 0 2 4
B. 0 2 4 5
C. 0 1 2 3 4
D. 编译失败
E. 一个异常在运行时被抛出
16. 如下代码:
public class Foo {
public static void main(String[] args) {
try {
return;
} finally {
System.out.println( "Finally" );
}
}
}
输出结果是什么?
A. Finally
B.编译失败
C. 代码正常运行但没有任何输出.
D. 运行时抛出异常
17. 如下代码:
class Base {
Base() { System.out.print("Base"); }
}
public class Alpha extends Base {
public static void main( String[] args ) {
new Alpha();
new Base();
}
}
结果是什么?
A. Base
B. BaseBase
C. 编译失败.
D. 代码运行但没有输出.
E. 运行时抛出异常.
18. 如下代码:
Float f = new Float("12");
switch (f) {
case 12: System.out.println("Twelve");
case 0: System.out.println("Zero");
default: System.out.println("Default");
}
结果是什么?
A. Zero
B. Twelve
C. Default
D. Twelve
Zero
Default
E. 编译失败.
19. 下面哪三个描述是正确的?
A. 默认构造器初始化方法变量
B. 默认构造器有和它所在类相同的访问修饰词.
C. 默认构造器调用其父类的无参构造器.
D. 如果一个类没有无参构造器,编译器会为它创建一个默认构造器.
E. 只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器
20. 如下代码
10. public Object m() {
11. Object o = new Float(3.14F);
12. Object [] oa = new Object[1];
13. oa[0] = o;
14. o = null;
15. oa[0] = null;
16. print 'return 0';
17. }
当Float对象在第11行被创建后, 什么时候能够被垃圾回收?
A. 13行以后.
B. 14行以后.
C. 15行以后.
D. 16行以后.

解决方案 »

  1.   

    默认不是protect么?类跟构造器不一样么
      

  2.   

    默认的跟protected有点区别,protected子类和同包的类可见,可是默认的子类不可见
    这个事真正的ibm的面试题么?怎么感觉跟普通的公司的没有什么两样,是不是ibm的那个下属公司?
      

  3.   

    个人答案,仅供参考
    1.BD--类B的构造器应该是默认访问权限
    2.D编译错误--方法里的变量不能用static修饰
    3.C
    4.C
    5.F
    6.ABF
    7.A
    8.AB--接口方法只能用public和abstract修饰
    9.A--int不能当boolean用
    10.CE
    11.感觉没答案,应该是显示B,退出程序
    12.A
    13.ADEF
    14.C--如果X右边确实是(的话,不然结果应该是0
    15.A
    16.A--finally里的代码肯定执行
    17.B
    18.E--float不能用在switch中,只有byte,short,int,char和enum能用在switch
    19.BCE
    20.C
      

  4.   

    1: D
    2: D
    3: B
    4: C
    5: F
    6: 拿不准
    7:A
    8: A,B
    9: A
    10: C,E
    11: 拿不准
    12: 
    13:
    14:B
    15: A
    16:
    17: B
    18: E
    19: A,B,E
      

  5.   

    这是IBM的?怎么感觉像是SCJP?
      

  6.   

    咱时做了这几个 
    1.BD
    2.D
    3.D
    4.E
    5.E
    6.ABD
      

  7.   


    //新手  
    1. 如下代码 
    class A { 
    A() { } 
    } class B extends A { 

    哪两个说明是正确的? //BD
    A. B类的构造器应该是 public. 
    B. B类的构造器应该是没有参数 
    C. B类的构造器应该调用this(). 
    D. B类的构造器应该调用super(). 
    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); 


    输出结果是什么? //D
    A. 0 
    B. 1 
    C. 2 
    D. 编译失败 
    3. 如下代码 
    int i =1,j =10; 
    do { 
    if(i++> --j) { 
    continue; 

    } while (i <5); 
    System.out.println("i = " +i+ "and j = "+j); 
    输出结果是什么? //D
    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 
    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"); 

    输出结果是什么? //C
    A. a 
    B. b 
    C. c 
    D. d 
    E. 编译失败 
    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; 


    输出结果是什么? //F
    A. value = 3 
    B. value = 4 
    C. value = 5 
    D. value = 6 
    E. value = 7 
    F. value = 8 
    6. 以下数组的定义,哪三条是正确的? //A B F
    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 
    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() ); 


    输出是什么? //B
    A. 4,4 
    B. 4,5 
    C. 5,4 
    D. 5,5 
    E. 编译失败. 
    8. 在接口中以下哪条定义是正确的? (两个答案) // A  B 
    A. void methoda(); 
    B. public double methoda(); 
    C. public final double methoda(); 
    D. static void methoda(double d1); 
    E. protected void methoda(double d1); 
    9. 如下代码: 
    public void test(int x) { 
    int odd = x%2; 
    if (odd) { 
    System.out.println("odd); 
    } else { 
    System.out.println("even"); 


    哪个描述正确? // A
    A. 编译失败. 
    B. "odd" 永远被输出. 
    C. "even" 永远被输出 
    D. "odd" 输出x的值, 
    E. "even" 输出x的值 
    10. 如下代码: 
    public class X { 
    public X aMethod() { return this;} 

    public class Y extends X { } 
    哪两个方法能加到Y类的定义中? // C E
    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(); } 
    11. 如下代码: 
    public class X { 
    public static void main(String [] args) { 
    try { 
    badMethod(); 
    System.out.print("A"); 

    catch (Exception ex) { 
    System.out.print("C"); 

    finally { 
    System.out.print("B"); 

    System.out.print("D"); 

    public static void badMethod() { 
    throw new Error(); 


    结果是什么? // 没答案吧  应该是 显示B,退出程序.
    A. ABCD 
    B. 编译失败. 
    C. 显示C,退出程序. 
    D. 显示B,C,退出程序. 
    E. 显示BCD,退出程序. 
    12. 如下代码: 
    class Exc0 extends Exception { } 
    class Exc1 extends Exc0 { } public class Test { 
    public static void main(String args[]) { 
    try { 
    throw new Exc1(); 
    } catch (Exc0 e0) { 
    System.out.println("Ex0 caught"); 
    } catch (Exception e) { 
    System.out.println("exception caught"); 



    结果是什么? // A
    A. Ex0 caught 
    B. exception caught 
    C.第2行出错,编译失败. 
    D. 第6行出错,编译失败. 
    13. 以下哪四个能使用throw抛出? // A D E F
    A. Error 
    B. Event 
    C. Object 
    D. Throwable 
    E. Exception 
    F. RuntimeException 
    14. 如下代码: 
    public class X ( 
    private static int a; 
    public static void main(String [] args) { 
    modify(a); 
    System.out.println(a); 

    public static void modify(int a) { 
    a++; 


    结果是什么? // A
    A. 0 
    B. 1 
    C. 编译失败. 
    D. 抛出运行时异常. 
    15. 如下代码: 
    int i = 0; 
    for (; i <4; i += 2) { 
    System.out.print(i + ""); 

    System.out.println(i); 
    输出结果是什么? // A
    A. 0 2 4 
    B. 0 2 4 5 
    C. 0 1 2 3 4 
    D. 编译失败 
    E. 一个异常在运行时被抛出 
    16. 如下代码: 
    public class Foo { 
    public static void main(String[] args) { 
    try { 
    return; 
    } finally { 
    System.out.println( "Finally" ); 



    输出结果是什么? // A
    A. Finally 
    B.编译失败 
    C. 代码正常运行但没有任何输出. 
    D. 运行时抛出异常 
    17. 如下代码: 
    class Base { 
    Base() { System.out.print("Base"); } 

    public class Alpha extends Base { 
    public static void main( String[] args ) { 
    new Alpha(); 
    new Base(); 


    结果是什么? // B
    A. Base 
    B. BaseBase 
    C. 编译失败. 
    D. 代码运行但没有输出. 
    E. 运行时抛出异常. 
    18. 如下代码: 
    Float f = new Float("12"); 
    switch (f) { 
    case 12: System.out.println("Twelve"); 
    case 0: System.out.println("Zero"); 
    default: System.out.println("Default"); 

    结果是什么? // E
    A. Zero 
    B. Twelve 
    C. Default 
    D. Twelve 
    Zero 
    Default 
    E. 编译失败. 
    19. 下面哪三个描述是正确的? // A C  E
    A. 默认构造器初始化方法变量 
    B. 默认构造器有和它所在类相同的访问修饰词. 
    C. 默认构造器调用其父类的无参构造器. 
    D. 如果一个类没有无参构造器,编译器会为它创建一个默认构造器. 
    E. 只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器 
    20. 如下代码 
    10. public Object m() { 
    11. Object o = new Float(3.14F); 
    12. Object [] oa = new Object[1]; 
    13. oa[0] = o; 
    14. o = null; 
    15. oa[0] = null; 
    16. print 'return 0'; 
    17. } 
    当Float对象在第11行被创建后, 什么时候能够被垃圾回收? // C
    A. 13行以后. 
    B. 14行以后. 
    C. 15行以后. 
    D. 16行以后. 
      

  8.   

    个人觉得第一题应该是B,D.
    答案B代码:class A { 
          A() { } 
    } class B extends A
    {  B(){}
                 } 
    答案D代码:
    class A { 
          A() { } 
    } class B extends A
    {  B(){super();}
                 } A错:B的构造函数一定要为public,子类功能可以比父类更强大,但不一定要强制!
    C错:无法找到构造函数,因为构造器类无其他构造函数。
    明日做下一题!晚安!
      

  9.   

    刚才少打一个字!!!!!!!!个人觉得第一题应该是B,D. 
    答案B代码:class A { 
          A() { } 
    } class B extends A 
    {  B(){} 
                } 
    答案D代码: 
    class A { 
          A() { } 
    } class B extends A 
    {  B(){super();} 
                } A错:B的构造函数不一定要为public,子类功能可以比父类更强大,但不一定要强制!所以B的构造函数可以为public,也可以default!
    C错:无法找到构造函数,因为构造器类无其他构造函数。 
    明日做下一题!晚安! 
     
     
     
      

  10.   

    刚才少打一个字!!!!!!!! 个人觉得第一题应该是B,D. 
    答案B代码:class A { 
          A() { } 
    } class B extends A 
    {  B(){} 
                } 
    答案D代码: 
    class A { 
          A() { } 
    } class B extends A 
    {  B(){super();} 
                } A错:B的构造函数不一定要为public,子类功能可以比父类更强大,但不一定要强制!所以B的构造函数可以为public,也可以default! 
    C错:无法找到构造函数,因为构造器内无其他构造函数。 
    明日做下一题!晚安! 
      

  11.   

    第四题为什么是!bool输出啊?
      

  12.   

    1. B D
    2. D
    3. D
    4. E
    5. F
    6. ABC
    7. A  //
    8. AC 
    9. A
    10. D E
    11. B
    12. A
    13. ADEF
    14. A
    15. A
    16. B
    17. D
    18. E
    19. CDE
    20. B
      

  13.   

    试做了下,待确认。1. BD
    2. D 
    3. D 
    4. C 
    5. E 
    6. ABF 
    7. E   
    8. AB 
    9. A 
    10. CE 
    11. B 
    12. A 
    13. ADEF 
    14. A 
    15. A 
    16. A 
    17. B
    18. E 
    19. BCE 
    20. C 
      

  14.   


    class A { 
    A() { } 
    } class B extends A { 

    哪两个说明是正确的? D   //A错,原因可以是public 也可以default,甚至private,因为构造函数不能被继承
                             //B错,有没有参数没什么影响
    A. B类的构造器应该是 public. 
    B. B类的构造器应该是没有参数 
    C. B类的构造器应该调用this(). 
    D. B类的构造器应该调用super(). 
    2. 如下代码   //D   
    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. 编译失败 
    3. 如下代码    答案:D  解释:i++>--j  它应当是i>--j  再i++
    int i =1,j =10; 
    do { 
    if(i++> --j) { 
    continue; 

    } while (i <5); 
    System.out.println("i = " +i+ "and j = "+j); 
    输出结果是什么? 
    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 
    4. 如下代码:    答案:C
    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"); 

    输出结果是什么? 
    A. a 
    B. b 
    C. c 
    D. d 
    E. 编译失败 
    5. 如下代码:  答案:F  注意:缺少了break
    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; 


    输出结果是什么? 
    A. value = 3 
    B. value = 4 
    C. value = 5 
    D. value = 6 
    E. value = 7 
    F. value = 8 
    6. 以下数组的定义,哪三条是正确的? ABF
    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 
    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 注意:两个方法不一样 大小写
    A. 4,4 
    B. 4,5 
    C. 5,4 
    D. 5,5 
    E. 编译失败. 
    8. 在接口中以下哪条定义是正确的? (两个答案)   // AB              接口中的方法是public abstract
    A. void methoda(); 
    B. public double methoda(); 
    C. public final double methoda(); 
    D. static void methoda(double d1); 
    E. protected void methoda(double d1); 
    9. 如下代码:      //A  odd不是boolean类型  不能用if
    public void test(int x) { 
    int odd = x%2; 
    if (odd) { 
    System.out.println("odd); 
    } else { 
    System.out.println("even"); 


    哪个描述正确? 
    A. 编译失败. 
    B. "odd" 永远被输出. 
    C. "even" 永远被输出 
    D. "odd" 输出x的值, 
    E. "even" 输出x的值 
    10. 如下代码: 
    public class X { 
    public X aMethod() { return this;} 

    public class Y extends X { } 
    哪两个方法能加到Y类的定义中?   // CE             AB返回值不兼容  C属于重载 无所谓   D范围扩大
    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(); } 
    11. 如下代码:                 //这个题我在电脑是jdk 6.0  编译没错,运行出异常
    public class X { 
    public static void main(String [] args) { 
    try { 
    badMethod(); 
    System.out.print("A"); 

    catch (Exception ex) { 
    System.out.print("C"); 

    finally { 
    System.out.print("B"); 

    System.out.print("D"); 

    public static void badMethod() { 
    throw new Error(); 


    结果是什么?   
    A. ABCD 
    B. 编译失败. 
    C. 显示C,退出程序. 
    D. 显示B,C,退出程序. 
    E. 显示BCD,退出程序. 
    12. 如下代码:           //A
    class Exc0 extends Exception { } 
    class Exc1 extends Exc0 { } 
    public class Test { 
    public static void main(String args[]) { 
    try { 
    throw new Exc1(); 
    } catch (Exc0 e0) { 
    System.out.println("Ex0 caught"); 
    } catch (Exception e) { 
    System.out.println("exception caught"); 



    结果是什么? 
    A. Ex0 caught 
    B. exception caught 
    C.第2行出错,编译失败. 
    D. 第6行出错,编译失败. 
    13. 以下哪四个能使用throw抛出? //ADEF  throwable的子类们
    A. Error 
    B. Event 
    C. Object 
    D. Throwable 
    E. Exception 
    F. RuntimeException 
    14. 如下代码:                 //A  值传递
    public class X ( 
    private static int a; 
    public static void main(String [] args) { 
    modify(a); 
    System.out.println(a); 

    public static void modify(int a) { 
    a++; 


    结果是什么? 
    A. 0 
    B. 1 
    C. 编译失败. 
    D. 抛出运行时异常. 
    15. 如下代码:   //A
    int i = 0; 
    for (; i <4; i += 2) { 
    System.out.print(i + ""); 

    System.out.println(i); 
    输出结果是什么? 
    A. 0 2 4 
    B. 0 2 4 5 
    C. 0 1 2 3 4 
    D. 编译失败 
    E. 一个异常在运行时被抛出 
    16. 如下代码:           //A    finally 总要执行
    public class Foo { 
    public static void main(String[] args) { 
    try { 
    return; 
    } finally { 
    System.out.println( "Finally" ); 



    输出结果是什么? 
    A. Finally 
    B.编译失败 
    C. 代码正常运行但没有任何输出. 
    D. 运行时抛出异常 
    17. 如下代码:           //B
    class Base { 
    Base() { System.out.print("Base"); } 

    public class Alpha extends Base { 
    public static void main( String[] args ) { 
    new Alpha(); 
    new Base(); 


    结果是什么? 
    A. Base 
    B. BaseBase 
    C. 编译失败. 
    D. 代码运行但没有输出. 
    E. 运行时抛出异常. 
    18. 如下代码:                    //E   f是float类型
    Float f = new Float("12"); 
    switch (f) { 
    case 12: System.out.println("Twelve"); 
    case 0: System.out.println("Zero"); 
    default: System.out.println("Default"); 

    结果是什么? 
    A. Zero 
    B. Twelve 
    C. Default 
    D. Twelve 
    Zero 
    Default 
    E. 编译失败. 
    19. 下面哪三个描述是正确的?  //BCE   这个不是很确认   E肯定正确
    A. 默认构造器初始化方法变量 
    B. 默认构造器有和它所在类相同的访问修饰词. 
    C. 默认构造器调用其父类的无参构造器. 
    D. 如果一个类没有无参构造器,编译器会为它创建一个默认构造器. 
    E. 只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器 
    20. 如下代码              //D      局部对象,方法结束后被回收
    10. public Object m() { 
    11. Object o = new Float(3.14F); 
    12. Object [] oa = new Object[1]; 
    13. oa[0] = o; 
    14. o = null; 
    15. oa[0] = null; 
    16. print 'return 0'; 
    17. } 
    当Float对象在第11行被创建后, 什么时候能够被垃圾回收? 
    A. 13行以后. 
    B. 14行以后. 
    C. 15行以后. 
    D. 16行以后. 
      

  15.   

    标记下,回家再做
    第一题选BD
    原因:如果一个类没有一个构造函数,java编译器会自动给该类建一个默认构造函数
    默认构造函数特点一:无参,所以B正确
    默认构造函数特点二:调用父类的无参构造函数super(),所以D正确。
      

  16.   

    第一题
    如果构造函数
    public B(int i)
    {
      super();
    }
    可以的吧
      

  17.   

    好像都是SCJP的考点么 = =。。
      

  18.   

    1BD
    2.D
    3.D
    4.C
    5.F
    6.ABF
    7.A
    8.AB
    9.A
    10.CE
    11.B
    12.A
    13.ADEF
    14.A
    15.A
    16.A
    17.B
    18.E
    19.BCE
    20.C
      

  19.   

    先占个位MARK一下,晚上下课回来做。
      

  20.   


    1. 如下代码 
    class A { 
    A() { } 
    } class B extends A { 

    哪两个说明是正确的? //B.D B类的构造器是default的,子类应该先调用父类的构造器
    A. B类的构造器应该是 public. 
    B. B类的构造器应该是没有参数 
    C. B类的构造器应该调用this(). 
    D. B类的构造器应该调用super(). 
    2. 如下代码 
    public class Test { 
    public int aMethod() { 
    static int i = 0; //错误,方法中的变量不能用static修饰符
    i++; 
    return i; 

    public static void main (String args[]) { 
    Test test = new Test(); 
    test.aMethod(); 
    int j = test.aMethod(); 
    System.out.println(j); 


    输出结果是什么? //D
    A. 0 
    B. 1 
    C. 2 
    D. 编译失败 
    3. 如下代码 
    int i =1,j =10; 
    do { 
    if(i++> --j) { 
    continue; 

    } while (i <5); 
    System.out.println("i = " +i+ "and j = "+j); 
    输出结果是什么? //E
    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 
    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"); 

    输出结果是什么? //c
    A. a 
    B. b 
    C. c 
    D. d 
    E. 编译失败 
    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; 


    输出结果是什么? //F 没有break,会产生case穿透,程序会一直往下执行
    A. value = 3 
    B. value = 4 
    C. value = 5 
    D. value = 6 
    E. value = 7 
    F. value = 8 
    6. 以下数组的定义,哪三条是正确的? //A B 感觉只有这两个,D中应该这样写private int a[] = new int[3]
                                    //F中由于是final的,要初始化,但是这里没有
    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 
    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 
    A. 4,4 
    B. 4,5 
    C. 5,4 
    D. 5,5 
    E. 编译失败. 
    8. 在接口中以下哪条定义是正确的? (两个答案) //A B接口中的方法不能有static,protected,final等修饰符
    A. void methoda(); 
    B. public double methoda(); 
    C. public final double methoda(); 
    D. static void methoda(double d1); 
    E. protected void methoda(double d1); 
    9. 如下代码: 
    public void test(int x) { 
    int odd = x%2; 
    if (odd) { 
    System.out.println("odd); 
    } else { 
    System.out.println("even"); 


    哪个描述正确? //A 貌似C++中可以这样做,java中if判断只能是 boolean的
    A. 编译失败. 
    B. "odd" 永远被输出. 
    C. "even" 永远被输出 
    D. "odd" 输出x的值, 
    E. "even" 输出x的值 
    10. 如下代码: 
    public class X { 
    public X aMethod() { return this;} 

    public class Y extends X { } 
    哪两个方法能加到Y类的定义中? //A C E
    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(); } 
    11. 如下代码: 
    class Error extends RuntimeException {}
    public class X { 
    public static void main(String [] args) { 
    try { 
    badMethod(); 
    System.out.print("A"); 

    catch (Exception ex) { 
    System.out.print("C"); 

    finally { 
    System.out.print("B"); 

    System.out.print("D"); 

    public static void badMethod() { 
    throw new Error(); 


    结果是什么? //觉得应该是显示CBD 程序退出
    A. ABCD 
    B. 编译失败. 
    C. 显示C,退出程序. 
    D. 显示B,C,退出程序. 
    E. 显示BCD,退出程序. 
    12. 如下代码: 
    class Exc0 extends Exception { } 
    class Exc1 extends Exc0 { } 
    public class Test { 
    public static void main(String args[]) { 
    try { 
    throw new Exc1(); 
    } catch (Exc0 e0) { 
    System.out.println("Ex0 caught"); 
    } catch (Exception e) { 
    System.out.println("exception caught"); 



    结果是什么? //A 个人觉得Exc0应该extends RuntimeException
    A. Ex0 caught 
    B. exception caught 
    C.第2行出错,编译失败. 
    D. 第6行出错,编译失败. 
    13. 以下哪四个能使用throw抛出? //C D E F
    A. Error 
    B. Event 
    C. Object 
    D. Throwable 
    E. Exception 
    F. RuntimeException 
    14. 如下代码: 
    public class X ( 
    private static int a; 
    public static void main(String [] args) { 
    modify(a); 
    System.out.println(a); 

    public static void modify(int a) { 
    a++; 


    结果是什么? //A 
    A. 0 
    B. 1 
    C. 编译失败. 
    D. 抛出运行时异常. 
    15. 如下代码: 
    int i = 0; 
    for (; i <4; i += 2) { 
    System.out.print(i + ""); 

    System.out.println(i); 
    输出结果是什么? //A
    A. 0 2 4 
    B. 0 2 4 5 
    C. 0 1 2 3 4 
    D. 编译失败 
    E. 一个异常在运行时被抛出 
    16. 如下代码: 
    public class Foo { 
    public static void main(String[] args) { 
    try { 
    return; 
    } finally { 
    System.out.println( "Finally" ); 



    输出结果是什么? //A
    A. Finally 
    B.编译失败 
    C. 代码正常运行但没有任何输出. 
    D. 运行时抛出异常 
    17. 如下代码: 
    class Base { 
    Base() { System.out.print("Base"); } 

    public class Alpha extends Base { 
    public static void main( String[] args ) { 
    new Alpha(); 
    new Base(); 


    结果是什么? //B
    A. Base 
    B. BaseBase 
    C. 编译失败. 
    D. 代码运行但没有输出. 
    E. 运行时抛出异常. 
    18. 如下代码: 
    Float f = new Float("12"); 
    switch (f) { 
    case 12: System.out.println("Twelve"); 
    case 0: System.out.println("Zero"); 
    default: System.out.println("Default"); 

    结果是什么? //E switch中只能用byte,short,int,enum类型
    A. Zero 
    B. Twelve 
    C. Default 
    D. Twelve 
    Zero 
    Default 
    E. 编译失败. 
    19. 下面哪三个描述是正确的? //B C E
    A. 默认构造器初始化方法变量 
    B. 默认构造器有和它所在类相同的访问修饰词. 
    C. 默认构造器调用其父类的无参构造器. 
    D. 如果一个类没有无参构造器,编译器会为它创建一个默认构造器. 
    E. 只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器 
    20. 如下代码 
    10. public Object m() { 
    11. Object o = new Float(3.14F); 
    12. Object [] oa = new Object[1]; 
    13. oa[0] = o; 
    14. o = null; 
    15. oa[0] = null; 
    16. print 'return 0'; 
    17. } 
    当Float对象在第11行被创建后, 什么时候能够被垃圾回收? //C
    A. 13行以后. 
    B. 14行以后. 
    C. 15行以后. 
    D. 16行以后. 
      

  21.   


    1. 如下代码
    class A {
    A() { }
    }class B extends A {
    }
    哪两个说明是正确的?   //BD,编译器创建的构造函数无参且会调用super()
    A. B类的构造器应该是 public.
    B. B类的构造器应该是没有参数
    C. B类的构造器应该调用this().
    D. B类的构造器应该调用super().
    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);
    }
    }
    输出结果是什么?    //D,非静态方法内不能定义静态局部变量
    A. 0
    B. 1
    C. 2
    D. 编译失败
    3. 如下代码
    int i =1,j =10;
    do {
    if(i++> --j) {
    continue;
    }
    } while (i <5);
    System.out.println("i = " +i+ "and j = "+j);
    输出结果是什么?               //D
    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
    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");
    }
    输出结果是什么?      //C
    A. a
    B. b
    C. c
    D. d
    E. 编译失败
    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;
    }
    }
    输出结果是什么?           //E
    A. value = 3
    B. value = 4
    C. value = 5
    D. value = 6
    E. value = 7
    F. value = 8
    6. 以下数组的定义,哪三条是正确的?  //ABF
    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
    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() );
    }
    }
    输出是什么?      //如果Sub的GetLenght的G是大写的话选A,如果G是小写的,就是方法的覆写,编译错误,返回类型不一致,选E
    A. 4,4
    B. 4,5
    C. 5,4
    D. 5,5
    E. 编译失败.
    8. 在接口中以下哪条定义是正确的? (两个答案)   //BE
    A. void methoda();
    B. public double methoda();
    C. public final double methoda();
    D. static void methoda(double d1);
    E. protected void methoda(double d1);
    9. 如下代码:
    public void test(int x) {
    int odd = x%2;
    if (odd) {
    System.out.println("odd);
    } else {
    System.out.println("even");
    }
    }
    哪个描述正确?               //编译失败,Java中判断的条件一定是布尔值,A
    A. 编译失败.
    B. "odd" 永远被输出.
    C. "even" 永远被输出
    D. "odd" 输出x的值,
    E. "even" 输出x的值
    10. 如下代码:
    public class X {
    public X aMethod() { return this;}
    }
    public class Y extends X {}
    哪两个方法能加到Y类的定义中?    //CE
    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(); }
    11. 如下代码:
    public class X {
    public static void main(String [] args) {
    try {
    badMethod();
    System.out.print("A");
    }
    catch (Exception ex) {
    System.out.print("C");
    }
    finally {
    System.out.print("B");
    }
    System.out.print("D");
    }
    public static void badMethod() {
    throw new Error();
    }
    }
    结果是什么?               //D
    A. ABCD
    B. 编译失败.
    C. 显示C,退出程序.
    D. 显示B,C,退出程序.
    E. 显示BCD,退出程序.
    12. 如下代码:
    class Exc0 extends Exception { }
    class Exc1 extends Exc0 { }
    public class Test {
    public static void main(String args[]) {
    try {
    throw new Exc1();
    } catch (Exc0 e0) {
    System.out.println("Ex0 caught");
    } catch (Exception e) {
    System.out.println("exception caught");
    }
    }
    }
    结果是什么?   //A
    A. Ex0 caught
    B. exception caught
    C.第2行出错,编译失败.
    D. 第6行出错,编译失败.
    13. 以下哪四个能使用throw抛出?         //ADEF
    A. Error
    B. Event
    C. Object
    D. Throwable
    E. Exception
    F. RuntimeException
    14. 如下代码:
    public class X (
    private static int a;
    public static void main(String [] args) {
    modify(a);
    System.out.println(a);
    }
    public static void modify(int a) {
    a++;
    }
    }
    结果是什么?                //C,静态全局变量一定要在创建时或在静态块中被初始化
    A. 0
    B. 1
    C. 编译失败.
    D. 抛出运行时异常.
    15. 如下代码:
    int i = 0;
    for (; i <4; i += 2) {
    System.out.print(i + "");
    }
    System.out.println(i);
    输出结果是什么?       //A
    A. 0 2 4
    B. 0 2 4 5
    C. 0 1 2 3 4
    D. 编译失败
    E. 一个异常在运行时被抛出
    16. 如下代码:
    public class Foo {
    public static void main(String[] args) {
    try {
    return;
    } finally {
    System.out.println( "Finally" );
    }
    }
    }
    输出结果是什么?        //B
    A. Finally
    B.编译失败
    C. 代码正常运行但没有任何输出.
    D. 运行时抛出异常
    17. 如下代码:
    class Base {
    Base() { System.out.print("Base"); }
    }
    public class Alpha extends Base {
    public static void main( String[] args ) {
    new Alpha();
    new Base();
    }
    }
    结果是什么?       //B
    A. Base
    B. BaseBase
    C. 编译失败.
    D. 代码运行但没有输出.
    E. 运行时抛出异常.
    18. 如下代码:
    Float f = new Float("12");
    switch (f) {
    case 12: System.out.println("Twelve");
    case 0: System.out.println("Zero");
    default: System.out.println("Default");
    }
    结果是什么?            //E,只有int和enum能作为switch的参数
    A. Zero
    B. Twelve
    C. Default
    D. Twelve
    Zero
    Default
    E. 编译失败.
    19. 下面哪三个描述是正确的?      //BCE
    A. 默认构造器初始化方法变量  //error,初始化实例变量
    B. 默认构造器有和它所在类相同的访问修饰词.
    C. 默认构造器调用其父类的无参构造器.
    D. 如果一个类没有无参构造器,编译器会为它创建一个默认构造器.  //应该E的描述
    E. 只有当一个类没有任何构造器时,编译器会为它创建一个默认构造器
    20. 如下代码
    10. public Object m() {
    11. Object o = new Float(3.14F);
    12. Object [] oa = new Object[1];
    13. oa[0] = o;
    14. o = null;
    15. oa[0] = null;
    16. print 'return 0';
    17. }
    当Float对象在第11行被创建后, 什么时候能够被垃圾回收?       //C
    A. 13行以后.
    B. 14行以后.
    C. 15行以后.
    D. 16行以后. 
      

  22.   

    第一题  我觉得AB是正确的  当没有显示的提供构造器时  编译器默认的增加一个public 的无参数构造器
      

  23.   

    class A { 
    A() { } 
    } class B extends A { 
    } 请问各位答B的大哥,B构造器怎么没有参数,它继承了A的方法,B既然继承了A的方法体,那哪来的无参数?
    参数(參數) 
        表明任何现象、设备或其工作过程中某一种重要性质的量。如,汽轮机中蒸气的压力、温度等,是该汽轮机蒸气的参数;电阻、电感和电容,就是电路的参数。 如果是Class B{}我毫不质疑的支持你们。
      

  24.   

    当没有显示的提供构造器时  编译器默认的增加一个是Friend,而不是public
      

  25.   

     我同意69楼,我是一个IBM培训的,
        这也不是IBM的考题
      

  26.   

    这位兄弟的理论挺丰富的,不过却是错的:
    第一,构造器不是类,不继承其他类的方法。
    第二,类的构造器也不能被其他类继承。构造器不是方法,或说构造器是特殊的方法。父类的构造器也不会被子类继承,父类的构造器名为A,子类的构造器名为B,名都不一样,怎么继承?
    用javap -c 命令反编译编译好的class文件就知道了:class Parent {
    Parent(){}
    }
    class Sub extends Parent{
    }
    //编译结果
    D:\>javap -c Sub
    Compiled from "Sub.java"
    class Sub extends Parent{
    Sub();               //编译器生成的默认构造器,无参且修饰符为default,与构造器的类Sub相同
      Code:              //构造器的里面代码
       0:   aload_0
       1:   invokespecial   #1; //Method Parent."<init>":()V   //调用了Parent的构造器super()        
       4:   return}
      

  27.   

    第一题为什么选D呢?D是错的吧,B里不需要super();这里我理解“应该”的意思。就是B里必须要显示的写出super语句的意思。所以我认为D不对,B的构造器里已经默认调用了super();所以不需要写出来了。所以第一题我选B