在 Java 中尝试重写超类的 final 方法时会发生什么?
任何在超类中声明为final的方法都不能被子类重写。如果我们尝试重写超类的final方法,在 Java 中我们会收到一个错误。
实现方法重写的规则
- 方法声明应该与要重写的方法相同。
- 该类(子类)应该扩展另一个类(超类),然后才能尝试重写。
- 子类永远不能重写超类的 final 方法。
示例
class Car { public void brake() { System.out.println("brake() method of Car"); } public final void accelerate() { System.out.println("accelerate() method of Car"); } } public class BenzCar extends Car { public static void main(String[] args) { BenzCar benz = new BenzCar(); benz.accelerate(); benz.brake(); } public void accelerate() { System.out.println("accelerate() method of Benz Car"); } }
在上面的示例中,如果我们尝试重写超类的final 方法(accelerate() 方法),编译器将抛出一个错误。因此,我们不会在 Java 中重写超类的 final 方法。
Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.
输出
overridden method is final
广告