私は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になるのかわかりませんが、誰かがこれに光を当てることができますか?