テストケースを見てみましょう:
public class StaticFieldTest {
public static int A= 1;
static {
A=2;
NAME="AAA";
// System.out.println(NAME); // Can't forward reference
}
public static String NAME = "Archer";
public static void main(String[] args) {
System.out.println(NAME);
}
}
出力はArcher
です。NAME="AAA"
退屈であることは明らかです。Java がこの種の書き込みを許可するのはなぜですか?