public class Something {
public static void main(String[] args) {
Other o = new Other();
o.i = 100;
o.addOne(o);
System.out.println(o.i);
}
}
class Other {
int i;
public void addOne(final Other o) {
o.i++;
}
}
以上执行结果为101。
第一点:不要怀疑,上面的final Other中的i是可以修改的。
第二点:o.addOne(o);中传递的确实是o.i为100的值o.i++之后变成了101。