我有下面這段代碼是從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