![]() |
1
4
静态字段已初始化 根据订单 它们出现在代码中。
更新: 正如James Gosling、Bill Joy、Guy Steele和Gilad Bracha在《Java语言规范》一书中所说:
这段代码是不明确的,所以Java规范不允许这样做。 |
![]() |
2
0
经过进一步的阅读,我认为帕维尔在这一点上不太准确 @Holger 在评论中指出。
作为 12.4.2. Detailed Initialization Procedure
两次 对于类初始值设定项本身是可以的,只要它只是 一旦 但帕维尔提供的演示仍然站在它的立场,所以我基本上只是在这里重用它,但有不同的解释。
但是当你使用
本文对此进行了详细的讨论 answer 可预测的行为 添加这些限制。另一个官方目的在 8.3.3. 字段初始化期间转发引用 .
|
|
3
0
这同样适用于非静态构件。可以在实例初始值设定项块中为它们赋值,但不能在初始化之前使用它们。
|