1、针对普通类的初始化顺序如下:
1)、静态属性 static 修饰。
2)、静态代码块 static {} 修饰。
3)、普通属性
4)、普通代码块
5)、构造方法
2、针对包含继承关系的子类初始化顺序如下:
1)、父类静态变量
2)、父类静态代码块
3)、子类静态变量
4)、子类静态代码块
5)、父类普通变量
6)、父类普通代码块
7)、父类构造函数
8)、子类普通变量
9)、子类普通代码块
10)、子类构造函数
3、针对接口抽象类实现类的初始化顺序如下:
1)、接口静态变量
2)、抽象类静态变量
3)、抽象类静态代码块
4)、实现类静态变量
5)、实现类静态代码块
6)、抽象类普通变量
7)、抽象类普通代码块
8)、抽象类构造函数
9)、实现类普通变量
10)、实现类普通代码块
11)、实现类构造函数