如果我們嘗試拓展 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
廣告