Java 中的 final 類

Rupam Yadav 2023年10月12日
Java 中的 final 類

本教程通過示例介紹了 final 類的主題。final 是 Java 中的一個關鍵字,可以在不同的上下文中與變數、方法和類一起使用。

它在某種程度上限制了每種情況下的訪問。我們將討論最後一節課。

在 Java 中使用 Final 類來限制類

帶有關鍵字 final 的類稱為 final 類。我們在一個類中使用 final 關鍵字來限制該類被其他類繼承。

當我們想要保護任何擴充套件時,我們將類設為 final。它的優點之一是安全性,因為最終類是不可變的,無法更改。

在下面的示例中,我們有兩個類。第一個類 ExampleClass1 具有 main() 方法,而在第二個類 ExampleClass2 中,我們使用 final 關鍵字使其成為最終類。

當我們在 ExampleClass1 中使用 extends 關鍵字擴充套件 ExampleClass2 時,我們會在輸出中收到一個錯誤,指出我們無法繼承最終類。

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 關鍵字時不能擴充套件類,但我們可以建立它的物件來訪問它的函式和變數。

示例中有兩個類;一個是最終類 ExampleClass2,而另一個類 ExampleClass1 需要執行 main() 方法。

我們建立一個 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