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

Ghi đè phương thức trong Java


Ghi đè là khả năng xác định một hành vi cụ thể cho loại lớp con, có nghĩa là một lớp con có thể triển khai một phương thức của lớp cha dựa trên yêu cầu của nó.

Theo thuật ngữ hướng đối tượng, ghi đè có nghĩa là ghi đè chức năng của một phương thức hiện có.

Ví dụ

Hãy để chúng tôi xem xét một ví dụ.

class Animal {
   public void move() {
      System.out.println("Animals can move");
   }
}
class Dog extends Animal {
   public void move() {
      System.out.println("Dogs can walk and run");
   }
}
public class TestDog {
   public static void main(String args[]) {
      Animal a = new Animal(); // Animal reference and object
      Animal b = new Dog();  // Animal reference but Dog object
      a.move();  // runs the method in Animal class
      b.move(); // runs the method in Dog class
   }
}

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Animals can move
Dogs can walk and run

Trong ví dụ trên, bạn có thể thấy rằng mặc dù b là một loại Động vật nhưng nó vẫn chạy phương thức di chuyển trong lớp Dog. Lý do cho điều này là:Tại thời điểm biên dịch, việc kiểm tra được thực hiện trên kiểu tham chiếu. Tuy nhiên, trong thời gian chạy, JVM tìm ra loại đối tượng và sẽ chạy phương thức thuộc về đối tượng cụ thể đó.
Vì vậy, trong ví dụ trên, chương trình sẽ biên dịch đúng cách vì lớp Animal có phương thức di chuyển. Sau đó, trong thời gian chạy, nó chạy phương thức dành riêng cho đối tượng đó.