上面的代码完全是合法的Java。在Java中,静态字段的初始化如下:首先,将所有字段的类型(0
false,或
null)设置为默认值,然后按照声明它们的顺序进行初始化。这意味着上述代码可以保证做到以下几点:
- 将
x
和y
设置为零,因为这是int
s 的默认值。 x
通过调用进行初始化getValue()
,以读取的值y
。由于y
尚未初始化,因此其值仍为0。- 初始化
y
为5。
这意味着
x它将取值为0,
y将取值为5。此行为是可移植的并且可以保证。 您可以在这里看到
。
希望这可以帮助!



