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?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage