Что произойдет при запуске программы?

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);
   }
}
Explanation
Инициализация полей при создании объекта осуществляется в порядке их объявления.
В данном примере первым будет инициализироваться поле i. В это время поле k ещё не инициализировано (содержит нулевое значение), и выражение k+1 даст единицу. После этого k получит значение 20.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты