我有以下代码来自Sun认证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;
}
}
Run Code Online (Sandbox Code Playgroud)
测试会询问您此行的结果:
System.out.println(x + y + ++x);
Run Code Online (Sandbox Code Playgroud)
答案是3,但我不完全理解为什么它是3.如果我完全忽略,我可以得到答案:
static
{
int x = 5;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,上面代码片段的含义是什么?为什么它不改变变量'x'的值?
| 归档时间: |
|
| 查看次数: |
5002 次 |
| 最近记录: |