Java中值传递和引用传递及区别

本文详细解释了值传递和引用传递的概念,并通过具体的代码示例来展示它们的区别。值传递涉及基本数据类型,而引用传递则关注于对象的地址传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

值传递和引用传递是针对方法调用时,参数的传递情况


值传递:是将实参的值复制一份给形参,形参的值相当于实参的一个副本,形参(副本)的值被改变,不会影响原来实参的值。基础类型属于值传递。
可以将值传递理解成文件的负复印,不管如何修改复印件,都不会对原件产生影响
引用传递:本质上,也是将实参的值复制一份给形参,只不过这个值比较特殊,是引用类型的对象的地址。通过形参对对象进行操作,会改变原来对象的值。
可以将引用传递理解成网页的链接,当发生引用时只是将链接给了别人,你可以通过链接修改网页,别人也可以

下面是值传递具体代码例子:

 

 其中第一个输出是1好理解不做赘述,第二个输出为什么不是10呢?因为在执行change方法的时候虽然是a=10但是没有返回所以导致a在外面没变,即a=1。

下面是引用传递的例子:

 

 

 这里第一个输出null不做赘述,第二个输出名字是因为将定义的person对象传递给了change方法,而方法中的person.name传递给了person类中的string name,所以第二个输出的是名字。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值