在Java中,当参数为null时将选择哪个构造函数

时间:2015-05-28 07:18:14

标签: java oop null overloading constructor-overloading

假设我有这段代码:

public class A{
    public A(String b){}
    public A(Cursor c){}
    public A(SomeClass n){}
}

现在我想创建一个A的实例,但我不知道当唯一的参数是null时,哪个构造函数会选择:

A someA = new A(null);

我应该如何管理并弄明白?

更新

我测试了这个,它不会用null编译,但是当我使用null对象时,它会考虑什么是对象类型:

String n = null;
A someA = new A(n);

它将执行public A(String b){}

这样安全吗?

1 个答案:

答案 0 :(得分:0)

由于方法调用为ambiguous,因此会导致编译错误。