Tôi có 3 lớp GrandParent
, Parent
và Child
, nơi Child extends Parent
và Parent extends GrandParent
Phương pháp quá tải với mẹ và lớp trẻ như tham số
public class Main {
void test(GrandParent gp){System.out.println("GrandParent");}
void test(Parent p){System.out.println("Parent");}
public static void main(String args[]){
GrandParent obj = new Child();
Main mainObj = new Main();
mainObj.test(obj); // This calls test(GrandParent gp)
mainObj.test(new Child()); // This calss test(Parent gp)
}
}
Trong đoạn code trên trong vòng 2 cuộc gọi đến test()
phương pháp cả với Child
đối tượng gọi khác nhau phương pháp. Trong một trong đó là làm biên dịch-thời gian và trong thời gian chạy khác ràng buộc. Điều này nghe có vẻ kỳ lạ với tôi. Làm thế nào bạn sẽ giải thích điều này?
Uh, có vẻ như tôi thích việc biên dịch thời gian biên dịch trong cả hai trường hợp ... Tìm hiểu cách thức quá tải phương thức được giải quyết, cần có câu trả lời nổi trên SO ở đâu đó – awksp
Đó là thời gian biên dịch cả hai trường hợp ... –