No se puede hacer referencia a "X" antes de que se haya llamado al supertipo constructor, donde x es una variable final

Considere la siguiente declaración de clase 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;
    }
}

El código no se compilará, con el compilador quejándose de la línea que he resaltado anteriormente. ¿Por qué ocurre este error y cuál es la mejor solución?

Respuestas a la pregunta(7)

Su respuesta a la pregunta