Java 中是否可以对 final 类进行子类化?


final 修饰符用于对类、方法和变量的实现进行最后确定。

声明为 final 的类的主要目的是防止对该类进行子类化。如果某个类被标记为 final,则没有任何类可以从该 final 类继承任何特性。

您无法扩展一个 final 类。若您尝试这样做,会得到一个编译时错误。

例如

final class Super {
   private int data = 30;
}
public class Sub extends Super{
}

输出

C:\Sample>javac Sub.java
Sub.java:7: error: cannot inherit from final Super
public class Sub extends Super{
                         ^
1 error

更新于:2019 年 7 月 30 日

2k+ 浏览量

开启你的职业

通过完成课程获得认证

开始
广告