Java 中的 final 方法是否可以被繼承?


不,我們不能在 Java 中覆蓋 final 方法。

final 修飾符用於確定類、方法和變數的實現。

我們可以將一個方法宣告為 final,一旦將一個方法宣告為 final,就無法覆蓋它。因此,你不能從子類修改 final 方法。

將一個方法設為 final 的主要目的是方法的內容不應該被任何外部人員更改。

示例

class Demo{
   public final void demoMethod(){
      System.out.println("Hello");
   }
}
public class Sample extends Demo{
   public final void demoMethod(){
      System.out.println("demo method");
   }
   public static void main(String args[]){
      Sample obj = new Sample();
      obj.demoMethod();
   }
}

輸出

C:\Sample>javac Sample.java
Sample.java:8: error: demoMethod() in Sample cannot override demoMethod() in Demo
public final void demoMethod(){
                  ^
overridden method is final
1 error

更新於:30-Jul-2019

2K+ 瀏覽

開始你的 職業生涯

透過完成課程以獲得認證

開始
廣告