Kann nicht auf "X" verweisen, bevor der Supertype-Konstruktor aufgerufen wurde, wobei x eine endgültige Variable ist
Betrachten Sie die folgende Java-Klassendeklaration:
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;
}
}
Der Code wird nicht kompiliert, und der Compiler beschwert sich über die Zeile, die ich oben hervorgehoben habe. Warum tritt dieser Fehler auf und was ist die beste Lösung?