如果我们尝试在 Java 中扩展 final 类会发生什么?

java 8object oriented programmingprogramming更新于 2025/9/7 20:28:17

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

  • 如果方法是 final 的,则无法被覆盖。
  • 如果变量是 final 的,则其值无法进一步修改。
  • 如果类是 final 的,则无法被扩展。

扩展 final 类

当我们尝试扩展 final 类时,会导致编译错误,提示"无法从 final 的 SuperClass 继承"

示例

在下面的 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[]){
      //调用超类方法
      new SubClass().display();
   }
}

编译时错误

编译时,此程序生成如下所示的编译错误−

输出

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

相关文章