package constxiong.interview;
/**
* 测试父类、子类构造函数打印
*
* @author ConstXiong
* @date 2019-11-01 09:30:26
*/
public class TestConstructorPrint {
public static void main(String[] args) {
Parent parent = new Child();
parent = new Child();
}
}
class Parent {
static {
System.out.print("1");
}
public Parent() {
System.out.print("2");
}
}
class Child extends Parent {
static {
System.out.print("3");
}
public Child() {
System.out.print("4");
}
}
参考答案
打印:132424
创建对象时构造器的调用顺序
- 递归初始化父类静态成员和静态代码块,上层优先
- 初始化本类静态成员和静态代码块
- 递归父类构造器,上层优先
- 调用自身构造器