public class StaticTest {
private static String a;
private static String b = "this is " + a;
public static void main(String[] args) {
a = "test";
System.out.println(b); // prints "this is null"
}
}
私は約b
の値を混同しています。私は結果が "これはテスト"であるべきだと思いますが、結果は "これはヌル"です。どうして?このJava静的フィールドはなぜnullですか?
クラスのロード時に静的フィールドが初期化されました。今のところ、「a」は「ヌル」だった。 – Oleksandr