При исследовании еще одного вопроса я с удивлением обнаружил, что следующий код Java компилируется без ошибок:
public class Clazz {
int var = this.var + 1;
}
В моем JDK6 var
инициализируется до 1
.
Является ли приведенный выше код хорошо определенной семантикой или его поведение undefined? Если вы говорите это четко, процитируйте соответствующие части JLS.