【发布时间】:2012-05-01 16:04:04
【问题描述】:
public class Arcane {
static int x;
int y;
public Arcane(int x) {
int y = x + 1;
this.y = y;
}
public void increment() {
y += x;
}
public void print() {
System.out.println(y);
}
public static void main(String[] args) {
x = 5;
{
int x = 2;
Arcane t = new Arcane(x);
t.increment();
t.print();
}
}
}
据我了解,程序打印出 8 但我不知道为什么。我尝试插入 x=5。
【问题讨论】:
-
在 this.y 之后值 5 是否为 y 递减?
-
我正在寻找解释为什么 t 最终是 8
-
你没有得到错误是因为你没有声明变量 x( where x = 5)