java中参数传递方式

一天我在网上写了一个参数传递的简单例子,结果有一个人说我错了,在JAVA中只有值传递,没有引用传递这个概念,我就有点郁闷了。想在这里请求大家。... 一天我在网上写了一个参数传递的简单例子,结果有一个人说我错了,在JAVA中只有值传递,没有引用传递这个概念,我就有点郁闷了。想在这里请求大家。 展开
 我来答
曹晓山11
推荐于2017-10-10 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52066
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。Java应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java 应用程序是按值传递对象引用的。

  1. 对象是按引用传递的;

  2. Java 应用程序有且仅有的一种参数传递机制,即按值传递;

  3. 按值传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的一个副本;

  4. 按引用传递意味着当将一个参数传递给一个函数时,函数接收的是原始值的内存地址,而不是值的副本。

Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。

注:参数是按值而不是按引用传递的,说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递。

zicozhang
推荐于2017-10-03 · TA获得超过1621个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:0
展开全部
java也有人说有传递引用的概念.但和传统的引用传递不一样。
Java中一切都是值传递。你可以通过方法来改变被引用的对象中的属性值,却无法改变这个对象引用(Object reference)本身.也就是当一个对象的实例被创建的时候,like this: Apple a = new Apple(); a 存的就是这个对象实例的地址。而这个地址,也就是a的值作为参数传到某个函数中的时候,a本身是不会改变的。
所以说java中的都是按值传递

参考资料: http://www.21tx.com/dev/2004/07/08/10855.html

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2007-04-24 · TA获得超过816个赞
知道小有建树答主
回答量:816
采纳率:0%
帮助的人:664万
展开全部
当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第蕾花倩
2019-06-01 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:587万
展开全部
java只有一种参数传递方式:值传递!
真正的引用传递(pass
by
reference)是指当引元传递给函数时,被调用的函数获得的是对原值的引用,而非原值的副本。如果函数修改了参数值,那么调用代码中的值也会改变,那是因为引元和参数使用了内存中的同一块地址。
1楼说的数组,传递的是数组的引用的拷贝,而不是数组的引用。
其他几位所说的“引用传递”实际上是指“传递了引用的拷贝”,所以归根结底还是“值传递”。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友669838f
2007-04-24 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:0
展开全部
java中的都是按值传递
Apple a = new Apple();
你在把a当做参数传进去的时候,a的值就是引用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式