Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将变量传递给另一个类是否使用同一个类?_Java - Fatal编程技术网

Java 将变量传递给另一个类是否使用同一个类?

Java 将变量传递给另一个类是否使用同一个类?,java,Java,如果我将一个映射传递给我创建的类,如果该类修改了映射,它会改变最初传递它的主方法中的映射吗 第二个实例是否指向同一个映射?是的,您正在传递一个参考值 这似乎很容易通过实验证明,不是吗?是的,调用者将看到被调用者所做的更改 第二个实例是否指向同一地图 没有第二个实例(除非显式复制映射)。您拥有的是对同一实例的两个引用。是。您的原始地图引用(不是复制地图对象)将被传递,并且在其他类中对地图所做的任何更改也将反映在主方法中的地图中。如果地图被传递给任何方法,此方法可以更改地图的内容,然后所有访问地图的

如果我将一个映射传递给我创建的类,如果该类修改了映射,它会改变最初传递它的主方法中的映射吗


第二个实例是否指向同一个映射?

是的,您正在传递一个参考值


这似乎很容易通过实验证明,不是吗?

是的,调用者将看到被调用者所做的更改

第二个实例是否指向同一地图


没有第二个实例(除非显式复制映射)。您拥有的是对同一实例的两个引用。

是。您的原始地图引用(不是复制地图对象)将被传递,并且在其他类中对地图所做的任何更改也将反映在主方法中的地图中。

如果地图被传递给任何方法,此方法可以更改地图的内容,然后所有访问地图的人都可以看到该内容。但是,该方法无法更改贴图对象本身,例如用另一个对象替换贴图。

粘贴一些代码来说明您正在谈论的内容(但答案很可能是肯定的)(我想您的意思是它是否使用相同的对象,而不是相同的类。)可能的重复:是这确实回答了我的问题,谢谢你的链接!如果我要创建一个与传入的原始映射相等的新映射。新的引用还会指向原始的吗?@sailboatlie不确定你所说的
新映射
到底是什么意思,但是如果你正在创建一个新映射(new HashMap()等)并复制元素,那么它就不会指向原始的。@Singh是的,这就是我的意思。谢谢你的回答!