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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 呆呆呆 中级黑马   /  2013-12-9 21:45  /  1148 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 呆呆呆 于 2013-12-10 11:13 编辑

想到一个问题:当一个对象被当做参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,
这里到底是值传递还是引用传递?帮忙啊

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

4 个回复

倒序浏览
java 基本类型是值传递, 类的对象为引用传递
回复 使用道具 举报
我认为是引用传递。值传递是把某一数据传递给某函数,由该函数来处理数据,并不对原有内存的数据进行操作;而这是把对象引用传递给某函数,由该函数来对堆内存中该对象实体的属性数据进行操作,对原有内存数据进行了操作。
希望可以帮到楼主。
回复 使用道具 举报
本帖最后由 高亮亮 于 2013-12-9 23:13 编辑

这应该是引用传递。因为对象是引用数据类型,传递的是堆内存中的对象地址,虽然在你说的方法被改变了属性,地址中的变量改变了,也就是值改变了,但跟值传递没有关系,这改变是那个方法的操作。
所以这不是值传递。值传递应该是基本数据类型,比如一个int类型的变量s,你给他赋了值。然后用s这个变量把它的实际参数也就是值传给某个方法进行操作,这就是值传递吧。

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
我觉得传递的应该是引用,因为类的对象是引用数据类型。
而传递值的话应该是基本数据类型了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马