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

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.

Follow CodeGalaxy

Mobile Beta

Get it on Google Play
Send Feedback
Keep exploring
Java quizzes
Cosmo
Sign Up Now
or Subscribe for future quizzes