考虑以下代码块:
class A {
static void m(String s) {
System.out.println("String");
}
static void m(Object o) {
System.out.println("Object");
}
public static void main(String [] args) {
A.m(null);
}
}
此处输出为"字符串" 现在我的问题是,由于Object和String都可以接受null值,因为它们都是Reference类型,那么为什么编译器打印" String"而不是显示歧义错误?