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+ 浏览

开始你的 职业生涯

通过完成课程以获得认证

开始
广告
© . All rights reserved.