当前位置: 首页 > 知识库问答 >
问题:

为什么它调用String类型参数方法[重复]

薛利
2023-03-14

为什么编译器匹配字符串重载,而不是对象重载?

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");
}

共有2个答案

林曦之
2023-03-14

它正在执行字符串,因为它将找到null的近似匹配项,但如果尝试将int和object作为方法参数。然后它将选择要打印的对象方法。

冀翰翮
2023-03-14

Java编译器选择最具体的方法。与对象相比,字符串是一种更具体的类型。

 类似资料: