~~~
package exercise;
/**
* @author virus
* @date
*/
public class ObjectExercise {
public static void main(String[] args) {
a(null);
}
public static void a(Object z) {
System.out.println("Object");
}
public static void a(int z) {
System.out.println("Integer");
}
public static void a(String z) {
System.out.println("String");
}
}
~~~
> 打印“String?”。首先,null?在?Java?中不是一個對象,在?Java?中我們可以將?null?賦給任何一個引用類型。而?Java?中的字符串是?Java.lang.String?類的對象。在這里,Java?編譯器會選擇使用最具體的參數類型來調用重載方法。而String類型比Object更為具體,所以會調用method(String?s)方法。