更新時間:2021-06-24 來源:黑馬程序員 瀏覽量:
當一個類的方法被final關鍵字修飾后,這個類的子類將不能重寫該方法。接下來通過一個案例來進行驗證,如文件1所示。
文件1 Example09.java
// 定義Animal類 class Animal { // 使用final關鍵字修飾shout()方法 public final void shout() { } } // 定義Dog類繼承Animal類 class Dog extends Animal { // 重寫Animal類的shout()方法 public void shout() { } } // 定義測試類 public class Example09 { public static void main(String[] args) { Dog dog=new Dog(); // 創建Dog類的實例對象 } }程序編譯報錯,如圖1所示。
圖1 運行結果
文件1中,Dog類重寫父類Animal中的shout()方法后,程序出現了“Cannot override the final method from Animal(無法重寫父類final方法)”的錯誤。由此可見,被final關鍵字修飾的方法為最終方法,子類不能對該方法進行重寫。正是由于final的這種特性,當在父類中定義某個方法時,如果不希望被子類重寫,就可以使用final關鍵字修飾該方法。