确保用Java初始化了最后一个字段
我用多个构造函数扩展了一个类。我在我的子类中添加了最后一个字段,这当然需要在我自己的构造函数中初始化 问题是我不想重新实现(大多数)超类的构造函数,所以我想做如下事情:确保用Java初始化了最后一个字段,java,final,Java,Final,我用多个构造函数扩展了一个类。我在我的子类中添加了最后一个字段,这当然需要在我自己的构造函数中初始化 问题是我不想重新实现(大多数)超类的构造函数,所以我想做如下事情: public myConstructor(Object... params){ super(params); try{ this.finalField = "backup value"; } catch(someException e){ } } 这有可能吗 编辑: 我
public myConstructor(Object... params){
super(params);
try{
this.finalField = "backup value";
}
catch(someException e){
}
}
这有可能吗
编辑:
我意识到这种情况永远不会发生,因为超类构造函数永远不会调用我自己的构造函数。为了简化对象初始化过程,我通常使用以下解决方案:
- 您可以创建一个静态工厂方法,该方法将创建对象(并在需要时抛出异常),而不是构造函数,并在可重用的私有方法中提供公共初始化功能
- 您还可以使用构建器模式而不是多个构造函数李>
- 您可以创建一个静态工厂方法,该方法将创建对象(并在需要时抛出异常),而不是构造函数,并在可重用的私有方法中提供公共初始化功能
- 您还可以使用构建器模式而不是多个构造函数李>