构造函数顺序

时间:2022-07-31 19:26:56
public class StructreA {
public StructreA() {
    System.out.println("我是父类构造器");
}
{
    System.out.println("我是父类构造代码块");
}
static {
    System.out.println("我是父类的静态方法");
}
    
}

子类

public class StructreB extends StructreA{
    public StructreB() {
        System.out.println("我是子类构造器");
    }
    {
        System.out.println("我是子类构造代码块");
    }
    static {
        System.out.println("我是子类的静态方法");
    }
    public static void main(String[] args) {
        new StructreB();
    }
}

执行顺序

我是父类的静态方法
我是子类的静态方法
我是父类构造代码块
我是父类构造器
我是子类构造代码块
我是子类构造器