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

Chúng ta có thể thay đổi chữ ký phương thức khi ghi đè trong Java không?

Không, trong khi ghi đè một phương thức của lớp siêu, chúng ta cần đảm bảo rằng cả hai phương thức đều có cùng tên, cùng tham số và cùng kiểu trả về, nếu không thì cả hai phương thức này sẽ được coi là các phương thức khác nhau.

Tóm lại, nếu chúng tôi thay đổi chữ ký, bạn không thể ghi đè phương thức của lớp siêu nếu bạn thử thì phương thức của lớp siêu sẽ được thực thi.

Lý do - Nếu bạn thay đổi chữ ký thì cả hai đều được coi là các phương thức khác nhau và vì bản sao của phương thức siêu lớp có sẵn ở đối tượng lớp con nên nó sẽ được thực thi.

Ví dụ

class Super {
   void sample(int a, int b) {
      System.out.println("Method of the Super class");
   }
}
public class MethodOverriding extends Super {
   void sample(int a, float b) {
      System.out.println("Method of the Sub class");
   }
   public static void main(String args[]) {
      MethodOverriding obj = new MethodOverriding();
      obj.sample(20, 20);
   }
}

Đầu ra

Method of the Super class