我有以下一段取自 Sun Certified Java Programmer 模拟考试的代码:
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'的值?