一. 单选题(共5题,100分)

1. (单选题, 20分)下列哪个叙述是正确的?

  • A. 子类继承父类的构造方法

  • B. abstract类的子类必须是非abstract类

  • C. 子类继承的方法只能操作子类继承和隐藏的成员变量

  • D. 子类重写或新增的方法也能直接操作被子类隐藏的成员变量

正确答案: C:子类继承的方法只能操作子类继承和隐藏的成员变量;

2. (单选题, 20分)下列哪个叙述是正确的?

  • A. final 类可以有子类

  • B. abstract类中只可以有abstract方法

  • C. abstract类中可以有非abstract方法,但该方法不可以用final修饰

  • D. 不可以同时用final和abstract修饰同一个方法

正确答案: D: 不可以同时用final和abstract修饰同一个方法;

3. (单选题, 20分)假设C是B的子类,B是A的子类,cat是C类的一个对象,bird是B类的一个对象,下列哪个叙述是错误的?

  • A. cat instanceof B的值是true

  • B. bird instanceof A的值是true

  • C. cat instanceof A的值是true

  • D. bird instanceof C的值是true

正确答案: D:bird instanceof C的值是true;

4. (单选题, 20分)下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?

class A { 
  static int m; static void f(){ 
    m = 20 ; //A 
    } 
  } 
class B extends A { void f() //B { 
    m = 222 ; //C 
    } 
} 
class E { public static void main(String args[]) {
 A.f(); // D } 
}
  • A. A

  • B. B

  • C. C

  • D. D

正确答案: B:B;

5. (单选题, 20分)下列代码中标注的(A,B,C,D)中,哪一个是错误的?

abstract class Takecare { protected void speakHello() {
  } //A public abstract static void cry(); //B 
static int f(){ 
  return 0 ;
  } //C abstract float g(); //D 
}
  • A. A

  • B. B

  • C. C

  • D. D

正确答案: B:B;