Java 中是值传递还是引用传递?

Posted 四猿外

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中是值传递还是引用传递?相关的知识,希望对你有一定的参考价值。

但是传引用的错觉是如何造成的呢?在运行栈中,基本类型和引用的处理是一样的,都是传值,所以,如果是传引用的方法调用,也同时可以理解为“传引用值”的传值调用,即引用的处理跟基本类型是完全一样的。但是当进入被调用方法时,被传递的这个引用的值,被程序解释(或者查找)到堆中的对象,这个时候才对应到真正的对象。如果此时进行修改,修改的是引用对应的对象,而不是引用本身,即:修改的是堆中的数据。所以这个修改是可以保持的了。

对象,从某种意义上说,是由基本类型组成的。可以把一个对象看作为一棵树,对象的属性如果还是对象,则还是一颗树(即非叶子节点),基本类型则为树的叶子节点。程序参数传递时,被传递的值本身都是不能进行修改的,但是,如果这个值是一个非叶子节点(即一个对象引用),则可以修改这个节点下面的所有内容。

以上是关于Java 中是值传递还是引用传递?的主要内容,如果未能解决你的问题,请参考以下文章

Java的参数传递是值传递还是引用传递?

Java调用函数传递参数到底是值传递还是引用传递

Java中的参数传递,到底是值传递还是引用传递?

关于java中值传递还是引用传递

Java是值传递还是引用传递?

Java 到底是值传递还是引用传递?