“引用是一种数据类型”,“参数是引用的一个拷贝”

 

传递参数的时候,如果是基本类型,传递的是基本类型的copy

如果是对象类型,传递的是对象类型的引用的新生成的copy,这个copy 指向的仍然是真正的地址。 新生成的copy是和原来的参数有区别的,它是一个在stack顶新生成的,需要占内存空间的。

 

因此,如果在method内部对新生成的copy 进行对象赋值操作是对原来的参数对象没有任何影响的。

但是,这个copy内部的成员变量还是指向真正的地址的,所以操作成员变量是对值有影响的。

posted on 2012-01-27 11:58  wblade  阅读(461)  评论(0编辑  收藏  举报