如何在 Java 中防止方法被覆蓋?
繼承可以定義為一個類(父類/超類)獲取另一個類(子類/子類)的成員(方法和欄位)的過程。
如果兩個類透過繼承相關聯。如果超類和子 類包含相同的方法(相同名稱和引數),當我們使用子類物件呼叫該方法時,將執行子類的方法。這種機制被稱為覆蓋。
重寫 final 方法
一旦你將一個方法宣告為 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 中編譯相同的程式,你將收到以下錯誤 -

因此,如果你想防止一個方法被覆蓋,你只需要將其宣告為 final 即可。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP