当我运行这段代码将打印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