引用的一道JAVA题目

 

code:

 

 

class A {
 A() {}
}

class B extends A {

}



Which two statements are true? (Choose two) 

A. Class B's constructor is public. 
B. Class B's constructor has no arguments. 
C. Class B's constructor includes a call to this(). 
D. Class B's constructor includes a call to super(). 
答案是:BD 

 

Java 类中

(1)如果没有指定构造函数,编译时会自动创建一个默认的构造函数,如果指定,则不会自动创建默认构造函数

(2)如果在类的修饰前是public 则默认构造函数访问权限是  public ,如果 没有显示采用public修饰,则默认构造函数的访问权限是 friendly

 

(3)子类继承父类,子类的构造函数执行前总是会调用父类的构造函数,如果没有显示的调用父类的构造函数,则会调用父类默认的构造函数,如果父类无法产生默认构造函数,则编译器会报错。同样,如果父类的构造函数使用 private 修饰,则子类的构造函数由于无法访问到父类的默认构造函数,编译器报错

posted @ 2015-02-27 16:40  chenlu1990js  阅读(237)  评论(0编辑  收藏  举报