我正在为 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。
然而,答案是1 20
。我不明白为什么会是1,有人可以对此有所了解吗?