Я готовлюсь к Экзамен 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);
}
}
Я думал, что это будет 21 20
, поскольку ti вызовет getInt, который затем увеличивает k до 21.
Ho wever, ответ будет 1 20
. Я не понимаю, почему это будет 1, может ли кто-нибудь пролить свет на это?