null如何在此代码中工作,为什么不打印对象?
class Test1{
public void doStuff(Object o){
System.out.println("In Object");
}
public void doStuff(String o){
System.out.println("In String");
}
}
public class TTest {
public static void main(String args[]){
Test1 t = new Test1();
t.doStuff(null);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
在字符串中
Java总是会尝试使用最具体的方法版本.
自召唤
t.doStuff(null);
Run Code Online (Sandbox Code Playgroud)
适用于这两种方法
t.doStuff(Object o)
t.doStuff(String o)
Run Code Online (Sandbox Code Playgroud)
Java将选择最具体的方法描述,即
t.doStuff(String o)
Run Code Online (Sandbox Code Playgroud)