final修飾子

   

メンバ変数や定数定義以外でfinal修飾子を使う場合の覚え書きです。

ローカル変数、引数のfinal指定

  • 変更(再代入)不可になる。
  • 参照型の場合、メンバ変数は変更可能。

ローカル変数のfinal指定

  • メソッド内の無名クラスでも参照できる。
    実際には変数にアクセスしているのではなく、変数の値をコピーして無名クラスのコンストラクタに見えない引数として渡しているとのこと。

 - Java