我在下面的例子困惑。有些人可以解释我为什么在例1中会打印“st”,并且在例2中给非基元类型和非父子关系类提供了编译时间模糊性。方法在Java中显示歧义超载对非基本类型和非亲子关系课程
实施例1对
public class FinalTest {
public static void main(String[] args) {
name(null);
}
public static void name(String s) {
System.out.println("st");
}
public static void name(Object s) {
System.out.println("obj");
}
}
实施例2
public class FinalTest {
public static void main(String[] args) {
name(null);
}
public static void name(String s) {
System.out.println("st");
}
public static void name(Integer s) {
System.out.println("obj");
}
}
的可能的复制[编译器错误:引用调用暧昧(http://stackoverflow.com/questions/14053596/compiler-error-reference-to-call-含糊不清) –
没有它不重复,它可能属于同一类别,但它有不同的情况。 –