A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 帆风顺 中级黑马   /  2015-4-9 13:41  /  612 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

详细解释一下,基本数据类型,形参的改变不会影响到实参的变化,而引用类型,形参的改变会影响到实参的改变

3 个回复

倒序浏览
给你一张参数传递内存看看:

QQ图片20150409135133.jpg (161.7 KB, 下载次数: 24)

参数传递

参数传递
回复 使用道具 举报
基本数据类型,形参的改变不会影响到实参的变化,基本数据类型存在于栈内存,而当使用该数据的方法运算完毕以后就弹栈了,弹栈后数据也就在内存中释放了,两者间未存在交集,所以互不影响
而引用类型,形参的改变会影响到实参的改变,引用类型的数据是存储在堆内存的,而对于引用类型的数据操作都是通过地址值的指向来操作的,通过地址值的指向操作也就是各方法操作这个数据都是同一个同一个地方,操作完就留在了地址指向的地方
回复 使用道具 举报
传值调用 和引用调用
传参基本类型是传的值,跟原来的没有关系 相当于复制了一份,原来的保留,对复制的操作不影响原来的值
传参引用类型是传递的引用  把这个对象传递过去。就像把你的杯子递给一个人,这个人对杯子倒水会影响你的杯子
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马