Java のfinal クラス

Rupam Yadav 2023年10月12日
Java のfinal クラス

このチュートリアルでは、例を使用して final クラスのトピックについて説明します。final は Java のキーワードであり、変数、メソッド、およびクラスを使用してさまざまなコンテキストで使用できます。

すべてのコンテキストでのアクセスをある程度制限します。final クラスについて話し合います。

Java で final クラスを使用してクラスを制限する

キーワード final を持つクラスは、final クラスと呼ばれます。クラスで final キーワードを使用して、クラスが他のクラスに継承されるように制限します。

拡張機能を保護したい場合は、クラスを最終版にします。final クラスは不変であり、変更できないため、その利点の 1つはセキュリティです。

以下の例では、2つのクラスがあります。ファーストクラスの ExampleClass1 には main() メソッドがあり、セカンドクラスの ExampleClass2 では、final キーワードを使用してfinal クラスにします。

ExampleClass1extends キーワードを使用して ExampleClass2 を拡張すると、final クラスを継承できないというエラーが出力に表示されます。

class ExampleClass1 extends ExampleClass2 {
  public static void main(String[] args) {}
}

final class ExampleClass2 {
  int abc = 30;
}

出力:

java: cannot inherit from final com.tutorial.ExampleClass2

final クラスを拡張することはできませんが、クラスのプロパティまたはメソッドにアクセスしたい場合はどうなりますか?

final キーワードを使用する場合、クラスを拡張することはできませんが、そのオブジェクトを作成してその関数と変数にアクセスできることに注意してください。

この例には 2つのクラスがあります。1つはfinal クラス ExampleClass2 であり、もう 1つのクラス ExampleClass1main() メソッドを実行するために必要です。

ExampleClass2 クラスのオブジェクトを作成してから、整数変数である abc の値を出力します。

ここでは継承を使用しないため、final の場合でもクラスとその変数にアクセスできます。

class ExampleClass1 {
  public static void main(String[] args) {
    ExampleClass2 exampleClass2 = new ExampleClass2();
    System.out.println(exampleClass2.abc);
  }
}

final class ExampleClass2 {
  int abc = 30;
}

出力:

30
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn