如何在 Java 中防止方法被覆盖?
继承可以定义为一个类(父类/超类)获取另一个类(子类/子类)的成员(方法和字段)的过程。
如果两个类通过继承相关联。如果超类和子 类包含相同的方法(相同名称和参数),当我们使用子类对象调用该方法时,将执行子类的方法。这种机制被称为覆盖。
重写 final 方法
一旦你将一个方法声明为 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 中编译相同的程序,你将收到以下错误 -

因此,如果你想防止一个方法被覆盖,你只需要将其声明为 final 即可。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP