上級 › static フィールドの初期化順序 › パターン5
static フィールドの初期化順序
宣言順に初期化されます。
1 public class Main { 2 static int a = ___________ + 1; ^ 3 static int b = 2; 4 public static void main(String[] args) { 5 System.out.println(a); 6 } 7 }
Main.java:2: error: illegal forward reference
空欄を埋めてビルドを通す
まだ宣言されていないフィールドを単純名で参照すると、前方参照としてコンパイルエラーになります。クラス名で修飾すると許可されますが、値はまだ初期化前の0のままです。
次の問題