构造函数,静态代码块,匿名代码块的执行顺序
1.静态代码块
static{ System.out.println("Child静态代码块"); }
2.匿名代码块
{ System.out.println("Child匿名代码块"); }
3.构造方法
public Child(String name){ super(name); System.out.println("child有参构造"); }
静态代码块是与类一起加载的所以静态代码块是最先执行的,而且只执行一次;匿名代码块是先于构造方法执行,而且每次在new实例化对象的时候都会执行一次;构造方法是最后执行。
在子类继承父类中每个构造方法中默认(super())都会调用父类的无参构造,除非自己写覆盖掉,所以在继承关系中在实例化子类时总会先执行父类的构造函数,最后才执行子类。