我使用多个构造函数扩展了一个类。我在我的子类中添加了一个final字段,其中ofcourse需要在我自己的构造函数中初始化。
问题是我不想重新实现(大多数)超类的构造函数,所以我想做这样的事情:
public myConstructor(Object... params){
super(params);
try{
this.finalField = "backup value";
}
catch(someException e){
}
}
这在某种程度上是可能的吗?
修改 的: 我意识到这种情况永远不会发生,因为超类构造函数永远不会调用我自己的构造函数。
答案 0 :(得分:2)
为简化对象初始化过程,通常我使用以下解决方案:
答案 1 :(得分:1)
让所有构造函数调用一个构造最终字段的构造函数。