this question的答案解释了模糊构造函数问题的原因,但是如果我真的想构造一个包含这种构造函数的第三方对象,并且我想将参数传递给{{1}我可以通过某种方式告诉java我的意思是构造函数来构造对象吗?
特别是在这个例子中:
null
假设我想使用第一个构造函数实际构造public Example(String name) {
this.name = name;
}
public Example(SomeOther other) {
this.other = other;
}
。
是否有一些语法允许我这样做?
答案 0 :(得分:10)
是的,通过显式转换null参数:即,通过调用Example((String)null);
或Example((SomeOther) null);
如上所述,这样做表明设计不好,我同意。您将尝试编写防弹代码,这种模糊不可能或无关紧要。