在 Java 中嘗試重寫超類的 final 方法時會發生什麼?
任何在超類中宣告為final的方法都不能被子類重寫。如果我們嘗試重寫超類的final方法,在 Java 中我們會收到一個錯誤。
實現方法重寫的規則
- 方法宣告應該與要重寫的方法相同。
- 該類(子類)應該擴充套件另一個類(超類),然後才能嘗試重寫。
- 子類永遠不能重寫超類的 final 方法。
示例
class Car {
public void brake() {
System.out.println("brake() method of Car");
}
public final void accelerate() {
System.out.println("accelerate() method of Car");
}
}
public class BenzCar extends Car {
public static void main(String[] args) {
BenzCar benz = new BenzCar();
benz.accelerate();
benz.brake();
}
public void accelerate() {
System.out.println("accelerate() method of Benz Car");
}
}在上面的示例中,如果我們嘗試重寫超類的final 方法(accelerate() 方法),編譯器將丟擲一個錯誤。因此,我們不會在 Java 中重寫超類的 final 方法。
輸出
overridden method is final
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP