怎么理解JAVA是引用传递还是值传递

编程入门 行业动态 更新时间:2024-10-07 08:20:48

怎么理解<a href=https://www.elefans.com/category/jswz/34/1770091.html style=JAVA是引用传递还是值传递"/>

怎么理解JAVA是引用传递还是值传递

其实这个问题,首先就要先明白常说什么是引用传递,什么是值传递。如果这个没搞懂,就更不要说理解了。引用传递是改地址,值传递不改地址。想象一下,现在张三在北京老家有一栋房子,房子里面有一个苹果。现在张三把钥匙给了小明,这就意味着,他们两个都拥有可能会操作这个房子里的东西了,小明会换成梨子。

好了,User us= new User(‘‘aaa’’)

change(us)

 

public  void  change(uuu){

uuu.setName("bbb")

}

现在有这么两行代码。先说一下,这个change会把us改成bbb。对比上面的,us就是张三这个人,new的对象就是房子包括里面的苹果,aaa就是苹果。uuu是小明,bbb是梨子。

如果我是张三,我要想换成梨子,有两个选择。第一是让别人去把苹果拿出来,授权小明,打开门,苹果拿出来,放个梨子进去,这种情况,房子还在那里,只是东西换了。第二种,授权小明,在另外的地方新建一个房子,放个梨子进去,也同样可以。第一种就是值传递,第二种就是引用传递。

归根结底,引用传递,你授权别人,别人的改变是搞个新的。值传递,你授权别人,别人的改变是替换里面的东西。

回到那个change方法里,不管你在里边怎么改,充其量把值变了,翻不出花样。所以JAVA就是值传递

更多推荐

怎么理解JAVA是引用传递还是值传递

本文发布于:2024-03-13 14:35:03,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1734189.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:JAVA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!