我不确定我是否有一个正确的 Java 初始化机制模型。每个类遵循以下内容:
- 初始化超类,如果存在的话
- 初始化自己
初始化如下:
- 初始化在初始化程序之外设置其值的静态和实例变量。
- 运行静态初始化块
- 运行构造函数块
那是准确/正确的吗?
我不确定我是否有一个正确的 Java 初始化机制模型。每个类遵循以下内容:
初始化如下:
那是准确/正确的吗?
代码执行如下 -
静态初始化块在第一次加载类时运行一次。
静态变量
所有超级构造函数。
实例 init 块在构造函数调用 super() 之后运行。
实例变量。
(初始化块按照它们出现的顺序执行。)
根据Java 语言规范,您的假设或多或少是正确的。例外情况是: