上級 › cannot assign a value to final variable の原因と直し方 › パターン5
cannot assign a value to final variable の原因と直し方
finalが固定するのは参照であって中身ではありません。
1 public class Main { 2 final int id; 3 Main(int id) { this.id = id; } 4 Main() { ____________ } ^ 5 public static void main(String[] args) { 6 System.out.println(new Main().id); 7 } 8 }
Main.java:4: error: variable id might not have been initialized
空欄を埋めてビルドを通す
finalフィールドはすべてのコンストラクタで必ず初期化しなければなりません。1つでも代入し忘れると、そのコンストラクタでコンパイルエラーになります。
次の問題