Java程序初始化顺序

1.按Java理论,父类与子类的初始化顺序为:

1.初始化父类静态变量

2.初始化父类的静态代码块

3.初始化子类的静态变量

4.初始化子类的静态代码块

5.父类的非静态变量

6.父类的非静态代码块

7.父类的构造函数

8.子类的非静态变量

9.子类的非静态代码块

10.子类的构造函数

不好记忆,10个呢,如何高效记忆?

通过分析不难发现,这里涉及到的关键字可以通过两种策略来进行分类:维度和优先级

下表种每一行表示一个维度下的优先级

维度\优先级 1 2 3
1(1) 静态 非静态
2(0.1) 父类 子类
3(0.01) 变量 代码快 构造函数

每次从所有维度选择一个组合起来,括号里是默认该维度的权重,这样计算优先级的加权之和,越小则优先级越高

参考资料:
[1]: https://www.cnblogs.com/jizhong/p/16908311.html

你可能感兴趣的:(java)