Java到底是值传递还是引用传递

详情请看:Java到底是值传递还是引用传递

Java中只有值传递,没有引用传递。值传递和引用传递的根本区别是有没有变量的拷贝,或者说有没有变量的副本。

1 值

啥叫值?值就是内存中真实存在的数据,就像碗里装的饭,盆里装的水一样。

2 引用

啥叫引用?引用就是装这块内存区域的地址,在碗上贴个标签写上张三,下次我要找张三的碗我直接看标签就行了,这个标签就是引用。(假设所有的碗颜色形状大小都一样)

3 指针

啥叫指针?指针就是这块内存我不装数据了,装的是另外一块内存的地址,我在一个小碗里面装个标签,上面写着张三,通过这个小碗我找到了张三的大碗,你没看错,通过碗找碗,小碗找大碗,通过一小块内存找到一大块内存,就是指针。

4 值传递

啥叫值传递?把这块内存中的数据拷贝到另外一块内存里面去,把张三碗里面的饭原封不动的复制到另外一个碗里面去,另外一个碗拿着这碗饭开始消费数据,消费这碗饭里面的数据对张三碗里面的饭有影响吗?并没有,这就叫值传递。

5 引用传递

啥叫引用传递?内存地址的传递叫作用传递,操作的都是同一块内存区域,我要吃饭(消费数据),把张三的碗上的标签给了我,那我自然找到张三的碗开始吃,这就叫引用传递。

6 指针传递

啥叫指针传递?指针传递本质也是值传递!有个有张三标签的小碗,这个是个指针对不,现在把这个小碗里面的标签原封不动的复制到另外一个小碗里面去,那么两个小碗都能通过张三这个标签找到张三的碗,这是同一个碗嘛,这就叫指针传递。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cashapxxx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值