java中父子类代码块的执行顺序
研究的是父子类中静态代码块,构造代码块以及构造方法的先后执行顺序
---------父类中的代码----------
public class Father {
static {
System.out.println("父类的静态代码块");
}
{
System.out.println("父类构造代码块");
}
public Father() {
System.out.println("父类的构造方法");
}
}
子类中的代码
public class Son extends Father{
static {
System.out.println("子类的静态代码块");
}
{
System.out.println("子类构造代码块");
}
public Son() {
System.out.println("子类的构造方法");
}
}
测试类
public class Test {
public static void main(String[] args) {
Son son =new Son();
}
}
运行结果
由此,可以说明,执行顺序为: