Javaの「final」の使い方は?
Javaでは、finalキーワードは以下のように利用されています。
- final変数:finalキーワードを付けられた変数は、定数であり、値を変更できません。一旦値が代入されると、以降変更はできません。
例:final int NUM = 10; // NUMは定数なので、変更できません
- final 修飾メソッド:final キーワードが修飾されたメソッドは、継承された場合にサブクラスからオーバーライドまたは上書きすることができません。final メソッドは、継承関係内で親クラスのメソッドを保護します。
例えば、public final void print() { … }
- 継承不能修飾子: final キーワードで修飾されたクラスは継承できない、つまりサブクラスを持つことができないことを示す。
例えば、public finalクラスのMyClass { … }
- final修飾パラメータ: メソッド内のパラメータにfinalキーワードを付与すると、メソッド内部では変更不可にすることができます。
int numをfinalで受け取る、doSomethingというパブリックメソッド
final で修飾された変数、メソッド、クラス、パラメータは不変または継承不可という性質を表し、コード上で可読性、安全性、性能の向上に役立てられます。