下面展示一些 代码片
。
public class test {
public void name(String str) {
System.out.println("String");
}
public void name(Object obj) {
System.out.println("Object");
}
public static void main(String[] args) {
test t=new test();
t.name(null);
}
结果:String
null是任何引用类型的默认值,object是所有对象的父类,String是一个引用类型,即其默认值是null,父类是object,就近选择 选择String
下面代码加上integer。
public class test {
public void name(String str) {
System.out.println("String");
}
public void name(Object obj) {
System.out.println("Object");
}
public void name(Integer inter) {
System.out.println("Integer");
}
public static void main(String[] args) {
test t=new test();
t.name(null);
}
编译器会报“The method name(String) is ambiguous for the type test”
原因:String和in