HM周磊 发表于 2013-3-14 18:02
谢谢,其实我想搞清楚的是为什么打印结果是11.
想请大神们帮我分析分析。。 ...
Wrench2 w = new Wrench2();
w.size = 11; ---这里不是给w对象的size属性赋值11了么?
go(w,w.size);调用的方法是
static Wrench2 go(Wrench2 wr,int s)
{
s = 12;--这里你只是给形参s赋值12,但是没有改变形参wr指向的w对象的size属性啊,这里要是修改正确的方法是:wr.size=12
return wr;---你这里其实就是返回了w对象的地址
}
Wrench2 W2 =go(w,w.size);这里其实就是把w对象赋给了W2变量。
然后你打印的W2.size,其实就是打印的w.size.
|