私はSun認定Javaのプログラマーのための模擬試験から取られている次のコードがあります。テストは、この行の結果をお願い致しますJavaの静的スコープ
public class Static
{
static
{
int x = 5;
}
static int x,y;
public static void main(String args[])
{
x--; myMethod();
System.out.println(x + y + ++x);
}
public static void myMethod()
{
y = x++ + ++x;
}
}
を:
System.out.println(x + y + ++x);
答えは3ですが、私は完全にそれが3である理由私は完全に無視した場合、私はその答えに到着することができます理解していない:
static
{
int x = 5;
}
私の質問は、上記のコードスニペットの意味は何ですか?変数 'x'の値を変更しないのはなぜですか?
@anonymous、すなわち静的メンバフィールドは
x
と呼ばれていない、私はそれを得る感謝。スコープの後に変数が存在しないため、スコープがあります。 – czchlong