可能重复:
传递 null 时选择了哪个构造函数?
我最近在几天前编码时遇到了这种好奇心,似乎无法弄清楚为什么会发生以下情况:
鉴于下面的课程
public class RandomObject{
public RandomObject(Object o){
System.out.println(1);
}
public RandomObject(String[] s){
System.out.println(2);
}
}
进行调用时new RandomObject(null);
,输出始终2
与构造函数的创建顺序无关。为什么null
指的是字符串数组而不是对象?