好的,所以,我有一个具体的问题。我有一个与此类似的类结构(为简单起见进行了简化)。
class A {
A() {
// long initialization
}
A(int someValue) {
this();
// do something with someValue
}
}
class B extends A {
B() {
super();
// some long initialization
}
B(int someValue) {
// What should i do here ?
}
}
但是现在,我希望能够B
使用第二个构造函数来构造类。但是第二个构造函数应该调用super(someValue)
构造函数来使用someValue
参数,但同时它需要调用this()
来不必重复这个类的初始化。问题是我不能同时调用this
和super
构造函数。
此外,我无法将第一个构造函数中的初始化提取到某个方法,因为我有一些final
字段需要在构造函数中初始化才能保留final
。