Java中只有值传递!Java中只有值传递!Java中只有值传递!

版权声明:转载请注明出处 https://blog.csdn.net/yrwan95/article/details/81545975

重要的事情说三遍!

对于Java的传递类型,是很多初学者,甚至很多高级程序员都有的困惑。

不涉及编程语言,什么是值传递和引用传递:

值传递:是指在调用函数时将实参复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实参。

引用传递:是指在调用函数时将实参的地址直接传递到函数中,那么在函数中对参数所进行的修改,将影响到实参。

但在Java中,只有值传递:

在调用方法时:

  • 如果传递的参数是基本类型,传递的是   该基本类型的值   的拷贝;
  • 如果传递的参数是引用类型,传递的是   该引用变量所引用的对象在堆中地址   的拷贝。

--------------------------------------------------------------------------------------------------------------------------------------

退一万步讲,假设引用类型的传递过程是引用传递的话,那实参传递给形参的值,也应该是该实参的地址,而不是该实参所引用的对象的地址。所以假设不成立,Java中只有值传递。

猜你喜欢

转载自blog.csdn.net/yrwan95/article/details/81545975