我有下面这段代码是从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,谢谢,我得到它。它是有作用域的,所以变量在范围之后不存在。 – czchlong