final 修飾子を指定してクラスを宣言すると、そのクラスはサブクラスで継承できなくなります

final class Example {
  // サブクラスで継承不可
}

final 修飾子を指定してメソッドを宣言すると、そのメソッドはサブクラスでオーバーライドできなくなります

class Example {
  final void example() {
    // サブクラスでオーバーライド不可
  }
}

final 修飾子を指定してメンバ変数を宣言すると、そのメンバ変数は定数として扱われます。一度値を代入すると、その値を変更できません。

class Example {
  final int example = 1; // 値の変更不可
}
スポンサーリンク