1>各类的静态初始化块2>类的非静态初始化块3>类的构造函数4>子类的非静态初始化块5>子类的构造函数
各类的静态初始化块首先执行,因为static初始化块是在构造函数之前执行的。执行顺序先静态再非静态。
初始化是在类加载的时候完成的,而构造方法生成对象,生成对象是在类加载完成之后完成的。因此先加载,后生成对象,故先执行初始化块。构造方法在初始化块后执行。在执行完非静态代码块后,会立即执行其构造函数,然后执行子类的非静态代码块,然后执行子类的构造方法
初始化时优先级1>类的构造函数2>类的初始化块3>在执行类成员的时候默认给出的值, 另外顺序也会影响优先级
标签:总结,初始化,构造方法,静态,子类,课后,执行,构造函数 From: https://www.cnblogs.com/LIXIHENG/p/16782782.html