是的,默认使用父类构造器。请看代码 class A{ public A(){ System.out.println("construct A!"); } } class B extends A{
} public class Test1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub B b = new B(); }}运行结果:construct A!
是的子类自己没有定义构造器:
默认 public AA(){
super();}
class A{
public A(){
System.out.println("construct A!");
}
}
class B extends A{
}
public class Test1 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
B b = new B();
}}运行结果:construct A!
其实你自己的说法也是对的。
如果子类重写了默认构造器,那么,调用自己重写后的无参构造器
如果子类没重写默认构造器,那么新建对象时,调用object默认构造器
当新建对象,调用重载后的构造器时,调用重载构造器
jvm只执行编译后的字节码,是不会默认类继承Object的。