當我運行這段代碼將打印String
。我的問題是爲什麼沒有編譯時錯誤? Object和String的默認值爲null。那麼爲什麼不編譯器說Reference to method1 is ambiguous
。Java的重載的概念
public class Test11
{
public static void method1(Object obj) {
System.out.println("Object");
}
public static void method1(String str) {
System.out.println("String");
}
public static void main(String[] arr) {
method1(null);
}
}
看到這個問題:http://stackoverflow.com/questions/377203/java-method-dispatch-with-null-argument – 2013-03-06 12:31:42