如果我們嘗試拓展 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
廣告
Data Structure
Networking
RDBMS
Operating System
Java
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP