不,我们不能覆盖Java中的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