Java011Java程序初始化顺序
1.父类静态变量
2.父类静态代码块
3.子类静态变量
4.子类静态代码块
5.父类非静态变量
6.父类非静态代码块
7.父类构造器
8.子类非静态变量
9.子类非静态代码块
10.子类构造器
Java程序初始化一般遵循3+1个原则:
1.静态对象(变量)先于非静态对象(变量)初始化,其中静态对象(变量)只初始化一次,而非静态对象(变量)可能会初始化很多次
2.父类优先于子类进行初始化
3.按照成员变量的定义顺序进行初始化。即使变量定义散布于方法之中,它们依然在任何方法(包括构造器)被调用前先初始化。
4.静态初始化只有在必要时刻才会进行。只有第一个对象创建(或第一次访问静态数据)的时候,它们才会被初始化。此后,静态对象不会再次被初始化。