~~~
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)方法。