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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 月时微 中级黑马   /  2013-6-19 12:59  /  1066 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Super_Class 于 2013-6-20 23:57 编辑

当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1

查看全部评分

3 个回复

倒序浏览
值传递和引用传递所传递的都是存储在变量里的值
如引用变量则,里面存放的是一个对象的引用而不是对象本身,因此传递该值的时候就把地址值复制给参数,则参数也指向了同一个对象,因此此时对参数的修改就是对对象的修改,但不是对变量的修改,即:参数一样没有改变原来变量所存储的地址值,即原来的变量存储的地址值没有改变。换句话说,值传递和引用传递其实一样的,都没有改变原来变量所存储的值。

而值传递的时候,变量存储的是一个基本数据类型,把该值传递给参数时,就把该值复制给参数。此时参数和变量没有任何关系。

评分

参与人数 1技术分 +1 收起 理由
Super_Class + 1

查看全部评分

回复 使用道具 举报
引用传递.

八种基本数据类型是基本变量,
其他的对象、数组之类的都是引用变量.

然后, 你懂的, 引用传递.
回复 使用道具 举报
既然是将对象作为参数传递进去的,那就是引用传递,传递的是引用类型,而不是基本数据类型。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马