为什么编译器匹配String
重载,而不是Object
重载?
public static void main(String[] args) {
method(null);
}
public static void method(Object o) {
System.out.println("Object impl");
}
public static void method(String s) {
System.out.println("String impl");
}
答案 0 :(得分:1)
它正在执行字符串,因为它会找到null的近似匹配但是 如果你尝试int和object作为方法参数。然后它会选择要打印的对象方法。
答案 1 :(得分:1)
Java Compiler选择最具体的方法。与Object相比,String是一种更具体的类型。