1.父类的静态代码块
2.子类的静态代码块
3.父类的非静态代码块
4.父类的构造函数
5.子类的非静态代码块
6.子类的构造函数
public class Child extends Father{ static{ System.out.println("Child static"); } { System.out.println("Child init"); } public Child(){ System.out.println("Child construactor"); } public static void main(String[] args) { new Child(); } } class Father{ static{ System.out.println("fatcher static"); } { System.out.println("fatcher init"); } public Father(){ System.out.println("father construactor"); } }
fatcher static
Child static
fatcher init
father construactor
Child init
Child construactor
代码执行的顺序先父类再子类没问题。
先静态代码块再非静态代码块没问题。
先代码块再构造函数没问题。