如果我們嘗試拓展 Java 中的 final 類,會發生什麼?


在 Java 中,final 是訪問修飾符,可用於欄位類和方法。

  • 如果方法是 final 的,則不能被覆蓋。
  • 如果變數是 final 的,則其值不能再被修改。
  • 如果類是 final 的,則不能被擴充套件。

擴充套件 final 類

當我們嘗試擴充套件 final 類時,將導致編譯錯誤,提示“無法從 final 超類繼承”

示例

在以下 Java 程式中,我們有一個名為SuperClass的 final 類,並且我們嘗試從另一個類(SubClass)繼承它。

final class SuperClass{
   public void display() {
      System.out.println("This is a method of the superclass");
   }
}
public class SubClass extends SuperClass{
   public static void main(String args[]){
      //Calling method of the superclass
      new SubClass().display();
   }
}

編譯時錯誤

在編譯時,此程式會生成一個編譯錯誤,如下所示:

輸出

SubClass.java:7: error: cannot inherit from final SuperClass
public class SubClass extends SuperClass{
                              ^
1 error

更新於: 29-Jul-2021

2K+ 瀏覽

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告