class TestClass {
int i = getInt();
int k = 20;
public int getInt() { return k+1; }
public static void main(String[] args) {
TestClass t = new TestClass();
System.out.println(t.i + " " + t.k);
}
}
Инициализация полей при создании объекта осуществляется в порядке их объявления.
В данном примере первым будет инициализироваться поле i. В это время поле k ещё не инициализировано (содержит нулевое значение), и выражение k+1 даст единицу.
После этого k получит значение 20.
Войдите чтобы поставить Нравится
Войдите чтобы прокомментировать