Изучая другой вопрос, я с удивлением обнаружил, что следующий Java код компилируется без ошибок:
public class Clazz {
int var = this.var + 1;
}
В моем JDK6 var
инициализируется 1
.
Имеет ли приведенный выше код четко определенную семантику или его поведение не определено? Если вы говорите, что это четко определено, укажите соответствующие части JLS.
var
используется для инициализацииvar
. - person NPE   schedule 05.04.2013int var = var+1;
не может успешно скомпилироваться? - person AmitG   schedule 05.04.2013var
в этом примере не является локальной переменной. - person assylias   schedule 05.04.2013