如果我们尝试拓展 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
广告