【发布时间】:2017-11-28 11:24:49
【问题描述】:
我有一些这样的代码:
public class Foo {
private int x;
public Foo() {
}
public Foo(int x) {
try {
//do some initialisation stuff like:
this.x = x;
}
catch(Exception ge){
//call empty constructor not possible
//this();
//this.EMPTY();
//Foo();
}
}
public static final Foo EMPTY = new Foo();
}
我想知道是否有可能实现这样的事情(我知道调用另一个构造函数必须是构造函数中的第一条语句)。 我在 SO 上环顾四周,但没有发现任何类似的东西,这让我相信,也许,我应该在实例化方法中处理错误逻辑。
【问题讨论】:
-
你想达到什么目的?即你为什么要调用一个空的构造函数?
-
不行,你只能在构造函数中调用另一个构造函数作为 first 调用。
-
@WillemVanOnsem 非常感谢。
-
@OliverCharlesworth 如果对象初始化失败,我想返回一个空对象。这样我可以简化初始化方法中的错误检查代码
-
@DarkStar1:空对象是什么意思?
标签: java constructor