如果我们尝试拓展 Java 中的 final 类,会发生什么?


在 Java 中,final 是访问修饰符,可用于字段类和方法。

  • 如果方法是 final 的,则不能被覆盖。
  • 如果变量是 final 的,则其值不能再被修改。
  • 如果类是 final 的,则不能被扩展。

扩展 final 类

当我们尝试扩展 final 类时,将导致编译错误,提示“无法从 final 超类继承”

示例

在以下 Java 程序中,我们有一个名为SuperClass的 final 类,并且我们尝试从另一个类(SubClass)继承它。

final class SuperClass{
   public void display() {
      System.out.println("This is a method of the superclass");
   }
}
public class SubClass extends SuperClass{
   public static void main(String args[]){
      //Calling method of the superclass
      new SubClass().display();
   }
}

编译时错误

在编译时,此程序会生成一个编译错误,如下所示:

输出

SubClass.java:7: error: cannot inherit from final SuperClass
public class SubClass extends SuperClass{
                              ^
1 error

更新于: 29-Jul-2021

2K+ 浏览

启动您的 职业生涯

通过完成课程获得认证

开始
广告