Невозможно сослаться на поле до того, как оно будет определено, но только если вы не квалифицируете его [дубликат]

На этот вопрос уже есть ответ здесь:

Нелегальная пересылка 4 ответа

Я обнаружил, что из-за следующего кода у меня отвисла челюсть:

public class MCVE {

    { // instance initializer
        System.out.println(test); // cannot reference a field before it is defined
        System.out.println(this.test);
    }
    private final String test = "wat";
}

ЛинияSystem.out.println(test); дает ошибку

Невозможно ссылаться на поле, пока оно не определено.

Но линияSystem.out.println(this.test); являетсяне

Почему это не ошибка, когда я это квалифицирую?

Ответы на вопрос(2)

Ваш ответ на вопрос