class A {
public A (a, b) {
System.out.println(a+b);
}
}
由上述代码块可见,类A并没有默认的构造函数,实际运行重载的有参构造函数时,系统是否会帮我们在第一行添加无参构造函数,例如实际运行
代码将变成
class A {
public A (a, b) {
this();
System.out.println(a+b);
}
}
会出现这样的情况以保证子类对象先构造完成吗
两个地方不准确,
1、每个类都会有一个默认的无参构造方法,不申明的话也会有。这是java的反射机制决定的。
2、在继承关系中,构造方法中会调用super()方法,先完成父类的构造。从人类角度理解,先有父再有子。