Java 方法重载和null关键字
如果有人能在下面解释,那就太好了。为什么在下面的示例中调用Java 方法重载和null关键字,java,Java,如果有人能在下面解释,那就太好了。为什么在下面的示例中调用print(String s)方法,而print(Object o)不调用 package com.example; public class DemoTest { public void print(Object o){ System.out.println("Object"); } public void print(String s){ System.out.println
print(String s)
方法,而print(Object o)
不调用
package com.example;
public class DemoTest {
public void print(Object o){
System.out.println("Object");
}
public void print(String s){
System.out.println("String");
}
public static void main(String[] args) {
DemoTest dt = new DemoTest();
dt.print(null);
}
}
取自
“这是因为字符串类从对象扩展而来,因此对对象更具体。因此,编译器决定调用该方法。记住,编译器总是选择最具体的方法来调用。”您可以将其链接起来……只是一个后续操作,但如果有一个
打印(整数i)
方法会怎么样。那么会选择什么呢?或者这是一个错误?