Java只有值传递,没有引用传递!

参考链接:Java传值须知

看完上面的文章总结一下:

Java的只有值传递,没有引用传递。
在Java中,参数都是按值传递的。被传递到方法中的拷贝值,要不就是一个引用或一个变量,取决于原始参数的类型。

参数类型有四种:
基本数据类型、包装类(属于immunable不可变对象)、集合类、自定义对象类

  • 在方法中,修改一个基础类型的参数永远不会影响原始参数值。
  • 在方法中,改变一个对象参数的引用永远不会影响到原始引用。然而,它会在堆中创建了一个全新的对象。(注:指的是包装类和immutable不可变对象)
  • 在方法中,修改一个对象的属性会影响原始对象参数。
  • 在方法中,修改集合和Maps会影响原始集合参数。

你可能感兴趣的:(Java)