当null
作为参数传递时,为什么调用类型为Object[]
的参数的方法而不是参数类型为Object
的方法?重载解析如何使用null参数工作?
class Demo {
void show(Object arr[]) {
System.out.println("khawar");
}
public void show(Object o) {
System.out.println("aleem");
}
public static void main(String[] args) {
Demo ss=new Demo();
ss.show(null);
}
}
可能重复[为什么Java不允许超载美孚(对象...)与美孚(对象\ [\] )?](http://stackoverflow.com/questions/8838339/why-is-it-not-allowed-in-java-to-overload-fooobject-with-fooobject) –
,因为它在层次结构上更接近 –
作为除此之外,'void show(Object arr [])'会更习惯性地写为'void show(Object [] arr)' - 保持数组部分以及其余的类型信息。 –