Java中值传递和引用传递有何区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1393个文字,预计阅读时间需要6分钟。
Java中方法传参是值传递或引用传递?结论:Java采用值传递。先建立一些基本概念:什么是值传递和引用传递?值传递(pass by value):在调用函数时,实际参数的值被复制到函数的参数中。引用传递(pass by reference):在调用函数时,实际参数的引用被复制到函数的参数中。值传递(pass by value):在调用函数时,实际参数的值被复制到函数的参数中。
Java 方法传参 值传递 or 引用传递?结论:Java采用的是值传递
先建立一些基础的概念
什么是值传递和引用传递?
- 值传递(pass by value):是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数
- 引用传递(pass by reference):是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数
Java的数据类型分为两类
- 基本类型(int float等)
- 引用类型(string, 数组等, 以及一切类对象)
如下图,展示了两者在内存中存储形式,基本类型存储的是值,而引用类型存储的是地址,该地址指向值所在的内存空间。引用类型有点类似于C语言中的指针。
实践出真知,本文做了三个实验来论证为什么Java是值传递。
本文共计1393个文字,预计阅读时间需要6分钟。
Java中方法传参是值传递或引用传递?结论:Java采用值传递。先建立一些基本概念:什么是值传递和引用传递?值传递(pass by value):在调用函数时,实际参数的值被复制到函数的参数中。引用传递(pass by reference):在调用函数时,实际参数的引用被复制到函数的参数中。值传递(pass by value):在调用函数时,实际参数的值被复制到函数的参数中。
Java 方法传参 值传递 or 引用传递?结论:Java采用的是值传递
先建立一些基础的概念
什么是值传递和引用传递?
- 值传递(pass by value):是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数
- 引用传递(pass by reference):是指在调用函数时将实际参数的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数
Java的数据类型分为两类
- 基本类型(int float等)
- 引用类型(string, 数组等, 以及一切类对象)
如下图,展示了两者在内存中存储形式,基本类型存储的是值,而引用类型存储的是地址,该地址指向值所在的内存空间。引用类型有点类似于C语言中的指针。
实践出真知,本文做了三个实验来论证为什么Java是值传递。

