转自:http://blog.csdn.net/jackson__qi/article/details/7982762
结论 : 传的叫做什么不重要,要理解到底传了个啥
Java中参数传递的都是值,对应基本类型,传递的是原值的拷贝;对于类类型,传递的是引用即地址的拷贝.
对于函数对参数的改变是否会影响原值的问题:值类型自然不会影响到原值.而对于类类型要看改变的是参数的地址还是值,如果是前者,参数和原引用指向了不同的地址,它们自然脱离了关系;如果是后者,修改的实例就是原引用指向的实例,这当然对原值进行了修改.
一切都是值,说是传值,肯定没问题的。最重要的是这个值到底是什么值:
基本类型,原值(拷贝)
类:引用(拷贝) 拷贝俩字是废话。只能是拷贝。
其实,从类来看,java主要也是为了弄清楚类这里: 还是传的引用。说传值的都是屁话(什么不是值,你说传的是0和1,更对!)!
除非在函数内部又重新指向别的对象(即把刚刚传参进来的引用又丢掉) 否则就会修改传参进来的对象的内容。
阅读(873) | 评论(0) | 转发(0) |