この記事では、 Java プログラミングにおけるFinalキーワードの基本的な使用法を説明します。応用状況についての簡潔かつ明確な説明は、内容をすぐに理解するのに役立ちます。Finalキーワードは、プログラム内のどこで使用されるかによって解釈が異なります。しかし、この言葉の本質は同じで、変化の禁止です。実際、この単語を Java 言語の本質の 1 つである変数、オブジェクト、メソッド、クラスに適用することで、歌手のジョセフ・コブゾンの髪型のように、それを定数、安定した不変の値にします... 思い出させてください。定数の簡単な定義。定数とは、数学、物理学、化学における一定の量 (スカラーまたはベクトル) です。数学的定数は、値が変化しない量です。この点では変数の逆です。Final という単語を使用できる 4 つのケースを見てみましょう。
1. プリミティブ データ型の定数を作成します。
ここで、MY_CONST値は変更できません。したがって、プリミティブ変数の隣に「 final」という単語を書くと、それは定数になります。public class MyClass{
public final int MY_CONST = 13;
}
2. 参照型定数を作成します。
このコードはエラーを引き起こしませんが、 s1変数に新しい値を割り当てるまではエラーが発生しません。つまり、参照タイプの「final」という単語は、参照の変更を禁止するものであり、参照が指すオブジェクトの変更を禁止するものではありません。割り当てはプログラム内のどこでも有効ですが、1 回だけ有効であることにも注意してください。public class MyClass2{
public final String s1;
public MyClass2() {
s1 = new String();
}
}
3. 子孫クラスのメソッドのオーバーライドの禁止
メソッドの横にある 「final」という単語は、子孫クラスでこのメソッドをオーバーライドすることを禁止します。public class Example{
public final void hello() {
System.out.println(“Hello my people!”);
}
}
つまり、Exampleを継承したクラスを作成し、その中に次のコードを記述すると、エラーが発生します。
public class ExtendedExample extends Example{
public void hello() {
System.out.println("Extended hello everyone!!!");
}
}
4. 子孫クラス作成の禁止
最終クラスは、スーパークラスになることができないクラスです。つまり、その子孫を記述することは禁止されています。public final class MyClass3 {
}
著者: イリーナ・ヴォルギナ
GO TO FULL VERSION