文系seの備忘録

Excelの改行でひたすらスペースを打っていた機械音痴の文系seが日々の備忘録を綴る。

未解決:final修飾子のついた変数をコンストラクタで初期化する

これならOK


gist6e2b7b058b76f9dae5a7




これはNG


ObjectTest

コンパイルエラー:ブランクの final フィールド a は初期化されていない可能性があります

なんでエラーになるのか???



=====================================

追記

エラー内容の通り。

もし、newするとき引数を渡さなかったらObnjectTest()コンストラクタ
が呼び出されるため、aが初期化されていない可能性がある。

対処法としては、

① ObjectTest()コンストラクタを削除する

② ObjectTest内に以下の処理を追加する

  a = なんらかの数値;




・・・こういう単純な問題で悩んだりする。
ちょっと時間をおくと「なんだ、こんなことかー」ってのが多い。