我们可以在 Java 中重写 final 方法吗?
覆写是实现多态性的机制之一。当我们有两个类时,其中一个类使用扩展关键字继承另一个类的属性,这两个类具有相同的方法(包括参数和返回类型,如sample),情况就是如此。
由于它是继承。如果我们实例化子类,超级类的成员的副本就会在子类对象中创建,因此子类可以使用这两种方法。
当我们调用此方法 (sample) 时,JVM 基于用于调用该方法的对象调用相应的方法。
覆写 final 方法
不,你无法在 Java 中覆写 final 方法。如果你尝试这样做,它会生成一个编译时错误,表明
示例
class Super{
public final void demo() {
System.out.println("This is the method of the superclass");
}
}
class Sub extends Super{
public final void demo() {
System.out.println("This is the method of the subclass");
}
}编译时错误
Sub.java:7: error: demo() in Sub cannot override demo() in Super
public final void demo() {
^
overridden method is final
1 error如果你尝试在 eclipse 中编译同一个程序,你会得到以下错误 -

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP