Я готовлюсь к экзамену SCJP, после проведения имитационных тестов я наткнулся на этот:
Он спрашивает, каков результат следующих действий:
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думал, что это будет 21 20
, так как ti вызовет getInt, который затем увеличивает k до 21.
Однако ответ - 1 20
.Я не понимаю, почему это будет 1, кто-нибудь может пролить свет на это?