Java中值传递和引用传递有何区别?

2026-05-19 18:330阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1393个文字,预计阅读时间需要6分钟。

Java中值传递和引用传递有何区别?

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中方法传参是值传递或引用传递?结论: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是值传递。

阅读全文