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靜態字段爲空?
靜態字段在類加載期間被初始化。此時'a'爲'null'。 – Oleksandr