public class overloading {
public static void print(String i){
System.out.println("String i");
}
public static void print(Object o){
System.out.println("object o");
}
/*public static void print(Buffer b){
System.out.println("buffer b");
}*/
}
public class testloading {
public static void main(String[] args) {
// TODO Auto-generated method stub
overloading.print(null);
}
}
当屏蔽print(Buffer b)时,testloading类可以通过编译,可添加print(Buffer b)方法后,testloading类不能通过编译了,为什么,能详解吗?谢谢
[b]问题补充:[/b]
我想zhangyou1010、Heart.X.Raid所说的应该是null没有具体对象,JVM无法指定调用哪个方法,对吗?
可是当只有print(String i)和print(Object o)这两个方法(用任何类型对象替换String参数一样)时,能够通过编译,JVM会调用print(String i)方法。