Xin xem Java Class nàyGọi dường như mơ hồ, nhưng chạy một cách hoàn hảo với sản lượng bất ngờ
class Demo
{
public static void a(String s)
{
System.out.println("string called");
}
public static void a(Object a)
{
System.out.println("Object called");
}
public static void main(String...asrgs)
{
a(null);
}
}
Kết quả của mã này là "chuỗi gọi là" nhưng tôi không thể hiểu rằng cách trình biên dịch có thể giải quyết giữa Đối tượng và Chuỗi.
Hơn nữa, kiểm tra đoạn mã này
class Demo
{
public static void a(String s)
{
System.out.println("string called");
}
public static void a(Integer n)
{
System.out.println("number called");
}
public static void a(Object a)
{
System.out.println("Object called");
}
public static void main(String...asrgs)
{
a(null);
}
}
Ở đây chúng ta nhận được một lỗi thời gian biên dịch liên quan đến cuộc gọi mơ hồ (đó là khá rõ ràng). Bất kỳ giải thích tốt cho điều này?
Giải thích cho lần đầu tiên hoặc giây giới? –
cả hai, nếu có thể :) – Gagan93