“Java通行证”;空";到重载方法

“Java通行证”;空";到重载方法,java,Java,有人能告诉我为什么要运行这个代码吗 public class MainClass{ public void method(Object obj){ System.out.println("+++++++++obj"); } public void method(A a){ System.out.println("**********a"); } public static void main(String[] args){

有人能告诉我为什么要运行这个代码吗

public class MainClass{

   public void method(Object obj){
       System.out.println("+++++++++obj");
   }

   public void method(A a){
       System.out.println("**********a");
   }

   public static void main(String[] args){
       new MainClass().method(null);
   }
}
我得到这个结果:

**********a

如何将null引用解析为“a”对象引用?

大多数特定方法在运行时选择<代码>对象比对象更具体

A a = null;
这是有效的

因此,当您传递
null
时,它将选择
(A)


以下是运行时选择的最具体的方法<代码>对象比对象更具体

A a = null;
这是有效的

因此,当您传递
null
时,它将选择
(A)


以下是可以解析为任何内容的

null
,因此将使用最具体的方法。添加一个参数类型为
B
的方法,编译器应该抱怨参数不明确。这不是重写,而是重载,而且对我来说似乎并不十分模糊。您是否希望
A=null
编译失败?
null
可以解析为任何内容,因此将使用最具体的方法。添加一个参数类型为
B
的方法,编译器应该抱怨参数不明确。这不是重写,而是重载,而且对我来说似乎并不十分模糊。您是否希望
A=null编译失败?