在调用超类型构造函数之前无法引用“X”,其中 x 是最终变量
2022-08-31 12:08:39
请考虑以下 Java 类声明:
public class Test {
private final int defaultValue = 10;
private int var;
public Test() {
this(defaultValue); // <-- Compiler error: cannot reference defaultValue before supertype constructor has been called.
}
public Test(int i) {
var = i;
}
}
代码将无法编译,编译器抱怨我上面突出显示的行。为什么会发生此错误,最好的解决方法是什么?