【发布时间】:2011-12-06 12:48:14
【问题描述】:
我在带有构造函数的 Java 类中定义了几个最终属性,该构造函数具有初始化属性的所有信息。
public final class A {
private final Object prop1;
private final Object prop2;
public A(Object someObj, String prop1Str, String prop2Str) {
//initialize prop1 and prop2 based on information provided from someObj, prop1Str and prop2Str parameter (1)
}
}
我想在 A 类中引入一个具有以下签名和语义的新构造函数
public A(Object obj1, Object obj2, String prop1Str, String prop2Str) {
//use obj1 and obj2 to initialize the someObj
//initialize prop1 and prop2 based on information provided from someObj, prop1Str and prop2Str parameter (1)
}
如何重用 (1) 中的代码?我尝试使用辅助私有方法,但 Java6 给了我一个编译错误,因为该类的属性是最终的并且它们可能尚未初始化。
编辑: 请注意,我不能从第一行的第二个构造函数调用第一个构造函数,因为首先我需要进行一些计算,然后重用相关代码。
【问题讨论】:
标签: java properties final code-reuse