1.什么是程序初始化?
简单说就是把运行程序必须的资源加载到内存,为一些变量分配空间赋初值,如果编程者在初始化函数里定义了代码还会做一些自定义的事情。
2.Java程序初始化的遵循的三个原则?
以下三个原则优先级依次递减:
1、静态对象(变量 )优先于非静态对象初始化,其中,静态对象(变量)只初始化一次,而非静态对象可以初始化多次。
2、父类优先于子类进行初始化
3、按照成员变量定义顺序进行初始化
3.Java程序初始化的顺序?按照下列数字顺序依次进行:
1.父类静态变量
2.父类静态代码块
3.子类静态变量
4.子类静态代码块
5.父类非静态变量
6.父类非静态代码块
7.父类构造方法
8.子类非静态变量
9.子类非静态代码块
10.子类构造方法
可以看到,都是成对出现的。
首先,父类先初始化,在父类初始化时,静态变量先开始,然后是静态代码块,例如static{}这种。然后是子类的静态变量和静态代码块。
紧接着,就是父类的非静态变量、非静态代码块、构造方法。
最后,就是子类的非静态变量、非静态代码块、构造方法。