首页 常见问题 值传递和引用传递的区别

值传递和引用传递的区别

Dec 10, 2019 am 11:50 AM
值传递

值传递和引用传递的区别

值传递是指基本数据类型在方法中的传递,引用传递是指引用数据类型在方法中的传递。

举例来说,如下图程序代码运行所示:                      (推荐学习:web前端视频教程

cj-17.png

注:int属于基本数据类型,因此在方法中进行传递和引用时,并不会改变该变量的数值

而arr属于数组,是引用数据类型,因此在方法引用时,实际传递的是该数组在堆内存中的物理内存地址,在方法中对该数组进行操作,则会影响到该数组内部的数值,会发生改变

原因:

在java中,基本数据类型作为参数传递的时候叫做值传递,传的是值本身,

值传递:值在该方法中改变属于局部变量改变

当出了该方法就没有作用了(方法中的传递的基本数据类型就属于局部变量)

在java中,方法的传参,引用数据类型,传的是物理内存地址值,当方法中对数组内部的数值进行改变时,并未改变该数组的物理内存地址,所以当返回到主方法中,数组还是指向原来的地址。

当传入arr数组在内存中的地址值后,堆内存中的连续地址发生改变,可以影响数组整体

特例:String /基本数据类型包装类,虽然都是引用数据类型,但是在发生传参的时候,它们传的是值

以上是值传递和引用传递的区别的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

揭秘 PHP 函数调用中的值传递和引用传递 揭秘 PHP 函数调用中的值传递和引用传递 Apr 16, 2024 pm 02:39 PM

揭秘 PHP 函数调用中的值传递和引用传递

如何正确理解PHP中的值传递方式 如何正确理解PHP中的值传递方式 Mar 08, 2024 pm 03:30 PM

如何正确理解PHP中的值传递方式

值传递和引用传递是什么 值传递和引用传递是什么 Dec 15, 2023 pm 03:03 PM

值传递和引用传递是什么

Java中的值传递与引用传递的区别详细分析 Java中的值传递与引用传递的区别详细分析 Jan 30, 2024 am 08:11 AM

Java中的值传递与引用传递的区别详细分析

Golang 函数中 struct 指针与 struct 值传递的区别 Golang 函数中 struct 指针与 struct 值传递的区别 May 31, 2024 pm 07:43 PM

Golang 函数中 struct 指针与 struct 值传递的区别

java值传递和引用传递有什么区别 java值传递和引用传递有什么区别 Jan 16, 2024 pm 04:18 PM

java值传递和引用传递有什么区别

深入研究Java中的传值和传引用的差异及其影响效果 深入研究Java中的传值和传引用的差异及其影响效果 Jan 30, 2024 am 08:27 AM

深入研究Java中的传值和传引用的差异及其影响效果

详解Java中值传递与引用传递的区别及其影响 详解Java中值传递与引用传递的区别及其影响 Jan 30, 2024 am 09:08 AM

详解Java中值传递与引用传递的区别及其影响