【发布时间】:2013-04-24 15:57:59
【问题描述】:
当我运行这个程序时,为什么它会调用带有字符串参数的重载方法。
public class StaticBindTest {
public static void main(String args[]) {
StaticBindTest et = new StaticBindTest();
et.sort(null);
}
//overloaded method
public void sort(Object c){
System.out.println("Inside Collection sort method");
}
//another overloaded method
public void sort(String hs){
System.out.println("Inside HashSet sort method");
}
}
如果我将我的方法重写为
public void sort(String hs){
if(hs instanceof String)
System.out.println("Inside HashSet sort method");
}
它会显示空白控制台,这意味着它不是String的实例那么为什么它会以这种方式调用?
【问题讨论】:
标签: java