1、父类静态变量
2、父类静态代码块
3、子类静态变量
4、子类静态代码块
5、父类非静态变量
6、父类非静态代码块
7、父类构造器
8、子类非静态变量
9、子类非静态代码块
10、子类构造器
Java程序初始化一般遵循3个原则
- 静态对象(变量)先于非静态对象(变量)初始化。其中静态对象(变量)只初始化一次,而非静态对象(变量)可能会初始化很多次
- 父类优先于子类进行初始化
- 按照成员变量的定义顺序进行初始化。即使变量定义散布于方法之中,他们依然在任何方法(包括构造函数)被调用前先初始化