我們可以在 Java 中重寫 final 方法嗎?
覆寫是實現多型性的機制之一。當我們有兩個類時,其中一個類使用擴充套件關鍵字繼承另一個類的屬性,這兩個類具有相同的方法(包括引數和返回型別,如sample),情況就是如此。
由於它是繼承。如果我們例項化子類,超級類的成員的副本就會在子類物件中建立,因此子類可以使用這兩種方法。
當我們呼叫此方法 (sample) 時,JVM 基於用於呼叫該方法的物件呼叫相應的方法。
覆寫 final 方法
不,你無法在 Java 中覆寫 final 方法。如果你嘗試這樣做,它會生成一個編譯時錯誤,表明
示例
class Super{
public final void demo() {
System.out.println("This is the method of the superclass");
}
}
class Sub extends Super{
public final void demo() {
System.out.println("This is the method of the subclass");
}
}編譯時錯誤
Sub.java:7: error: demo() in Sub cannot override demo() in Super
public final void demo() {
^
overridden method is final
1 error如果你嘗試在 eclipse 中編譯同一個程式,你會得到以下錯誤 -

廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP