编译并运行这段代码后,输出结果是什么?( )
public class Test {
static int x = 10;
public Test() {
Bar b = new Bar();
Bar b1 = new Bar();
update(b);
update(b1);
}
private void update(Bar bar) {
bar.x = ++x;
System.out.println(bar.x);
}
public static void main(String args[]) {
new Test();
}
private class Bar {
public int x = 10;
}
}代码将无法编译
11 12
11 11
12 12
作用域问题:方法中的变量名如果没有前缀,先查局部变量,然后查对象变量,再然后是类变量。
++运算符问题:++在前,先加1,再使用
++运算符问题:++在前,先加1,再使用