这一题应该是考变量的作用域的,首先你要明白a,b是是属于main方法内部的,x,y是属于operator()方法范围内的,出了这个方法,这两个变量就相当于不存在。由于方法会产生回调效果,对传进来的参数对象作出改变,比如main()方法中调用operator(),和operator()中调用append(),但是局部变量就不同,不能因为处于operator()方法范围内y变量做了改变,从而影响到了处于main()方法范围内的b变量
你可以在operator()方法内用System.out.println(y);看看结果就明白了。
解释一下d答案的由来
追答楼主再不结贴,就快赶上论坛了