可能重複:
Java method dispatch with null argumentJava:重載方法,方法(空)會發生什麼?
爲什麼這會打印 「一個(字符串)」?
public class Test{
public static void main(String[] args){
a(null);
}
public static void a(Object x){
System.out.println("a(Object)");
}
public static void a(String x){
System.out.println("a(String)");
}
public static void a(int x){
System.out.println("a(int)");
}
public static void a(){
System.out.println("a()");
}
}
Java版本:
java version "1.7.0_04-ea"
Java(TM) SE Runtime Environment (build 1.7.0_04-ea-b228)
Java HotSpot(TM) 64-Bit Server VM (build 23.0-b12, mixed mode)
最特殊的一個更多的驚喜,與嘗試Integer和String參數。 –
編譯錯誤:對a的引用是不明確的,測試中的方法a(String)和方法a(整數) – wuntee