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
廣告