Computer >> Máy Tính >  >> Lập trình >> Java

Điều gì sẽ xảy ra khi chúng ta cố gắng ghi đè phương thức cuối cùng của lớp cha trong Java?

Bất kỳ phương thức nào được khai báo là cuối cùng trong lớp cha không thể bị ghi đè bởi một lớp con. Nếu chúng tôi cố gắng ghi đè phương pháp cuối cùng của siêu lớp, chúng ta sẽ gặp lỗi trong Java.

Quy tắc triển khai Ghi đè phương thức

  • Khai báo phương thức phải giống với khai báo của phương thức sẽ được ghi đè.
  • Lớp (lớp con) nên mở rộng một lớp khác (lớp cha), trước khi thử ghi đè.
  • Lớp phụ không bao giờ có thể ghi đè các phương thức cuối cùng của Lớp siêu cấp.

Ví dụ

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");
   }
}

Trong ví dụ trên, nếu chúng tôi cố gắng ghi đè phương thức cuối cùng (phương thức tăng tốc ()) của lớp cha . trình biên dịch sẽ tạo ra lỗi . Do đó, chúng tôi không ghi đè phương thức cuối cùng của lớp cha trong Java.

Đầu ra

overridden method is final