Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 方法重载和null关键字_Java - Fatal编程技术网

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)
方法会怎么样。那么会选择什么呢?或者这是一个错误?