java中的值传递和引用传递简单易懂的理解

本文探讨了Java中值传递和引用传递的概念,指出两者本质上的相似性。通过实例分析了对象作为参数时,看似引用传递实际上是值传递的过程。举例说明了如何改变对象状态以及为何某些操作会影响原对象,而有些不会。强调了从不同角度理解这两种传递方式的重要性。
摘要由CSDN通过智能技术生成

1:java中的值传递和引用传递,本质上是没有区别的,只是看的角度不同而已。

基本类型传递变量,都可以直接理解为值传递。 

值传递和引用传递:比如一个对象作为一个方法的参数传递,那么在这个传递的过程中,传递的是对象的引用地址,你可以理解成为引用传递。但是如果单从传递的角度来说,传递的是一个对象的引用地址,这个引用地址本身就是一个值,所以也可以理解成是值传递。

2:举例说明:

引用传递举例

一:如下面一段代码,我想将集合变成空集合,但是运行程序后却未达到效果

原因分析: 

首先这个可以从引用传递的角度分析比较合适,虽然方法中将list对象赋值为一个空集合,但是本质上是将list的引用地址指向了另一个对象的地址,只不过新的对象是空的,但是原来的对象并没有改变,所以结果会是8

二:下面的代码是将集合的一个元素移除,这次达到了效果。

原因分析: 

首先这个可以从值传递和引用传递分析,值传递是指传递了一个对象的地址(传递的值),这个地址指向一个对象,方法中对改地址指向的对象就行了修改,所以会是7

不管是值传递和引用传递,从不同角度分析都是可以理解的。此博客方便自己记忆,不做技术参考。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值