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行以后.
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行以后.
这个事真正的ibm的面试题么?怎么感觉跟普通的公司的没有什么两样,是不是ibm的那个下属公司?
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
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
1.BD
2.D
3.D
4.E
5.E
6.ABD
//新手
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行以后.
答案B代码:class A {
A() { }
} class B extends A
{ B(){}
}
答案D代码:
class A {
A() { }
} class B extends A
{ B(){super();}
} A错:B的构造函数一定要为public,子类功能可以比父类更强大,但不一定要强制!
C错:无法找到构造函数,因为构造器类无其他构造函数。
明日做下一题!晚安!
答案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错:无法找到构造函数,因为构造器类无其他构造函数。
明日做下一题!晚安!
答案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错:无法找到构造函数,因为构造器内无其他构造函数。
明日做下一题!晚安!
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
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
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行以后.
第一题选BD
原因:如果一个类没有一个构造函数,java编译器会自动给该类建一个默认构造函数
默认构造函数特点一:无参,所以B正确
默认构造函数特点二:调用父类的无参构造函数super(),所以D正确。
如果构造函数
public B(int i)
{
super();
}
可以的吧
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
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行以后.
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行以后.
A() { }
} class B extends A {
} 请问各位答B的大哥,B构造器怎么没有参数,它继承了A的方法,B既然继承了A的方法体,那哪来的无参数?
参数(參數)
表明任何现象、设备或其工作过程中某一种重要性质的量。如,汽轮机中蒸气的压力、温度等,是该汽轮机蒸气的参数;电阻、电感和电容,就是电路的参数。 如果是Class B{}我毫不质疑的支持你们。
这也不是IBM的考题
第一,构造器不是类,不继承其他类的方法。
第二,类的构造器也不能被其他类继承。构造器不是方法,或说构造器是特殊的方法。父类的构造器也不会被子类继承,父类的构造器名为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}