public class Test{ 8 9 //info方法一 10 public void info(Object o, double count) { 11 System.out.println("object o"); 12 } 13 14 //info方法二 15 public void info(Object[] o, double count) { 16 System.out.println("object[] o"); 17 } 18 public static void main(String[] args) { 19 //我们看看,如果第一个形参为null,他到底会匹配哪一个方法呢? 20 new Test().info(null, 0); 21 } 22 }
运行结果是是object[] o而不是object o,这是为什么呢?
Java方法重载后的匹配规则:如果某个方法的形参要求参数范围越小,那么这个方法就越精确。