Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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,可能重复: 在Java中是否可以通过引用传递对象 就像在C中一样# 不,这在Java中是不可能的 在Java中,方法的所有参数都是按值传递的。注意,作为对象引用的非原语类型的变量也按值传递:在这种情况下,引用按值传递。请注意,按值传递引用与按引用传递不同。否。Java只是按值传递 不过你不应该要求这样的事情。您可以传递对象并更改其字段-这将反映在调用者中。对象的所有变量都是对对象的引用。当您将一个对象传递给一个方法时,您已经传递了该对象的引用。如果不希望原始对象受到影响,则必须先克隆它 传递引

可能重复:

在Java中是否可以通过引用传递对象

就像在C中一样#


不,这在Java中是不可能的


在Java中,方法的所有参数都是按值传递的。注意,作为对象引用的非原语类型的变量也按值传递:在这种情况下,引用按值传递。请注意,按值传递引用与按引用传递不同。

否。Java只是按值传递


不过你不应该要求这样的事情。您可以传递对象并更改其字段-这将反映在调用者中。

对象的所有变量都是对对象的引用。当您将一个对象传递给一个方法时,您已经传递了该对象的引用。如果不希望原始对象受到影响,则必须先克隆它

传递引用数据类型参数

参考数据类型参数,例如 作为对象,也被传递到 方法按值排序。这意味着当 方法返回传入的 引用仍然引用相同的引用 对象与以前一样。但是 可以更改对象字段的名称 在方法中,如果他们有适当的 访问级别


来源:

您必须创建一个引用类。幸运的是,有一个。试试看。请注意,它是用于并发的,因此可能不适合


另一个想法是传递一个长度为1的对象数组。

我认为所有对象都是通过ref隐式传递的java@soul不。Java中的一切都是通过值传递的,包括引用。这已经被问了几十次了。其中一个是这样的:在Java中,默认情况下一切都是按值传递的。。。我感兴趣的是有没有一种方法可以通过引用来传递。请看我的答案。您可以传入一个可变引用的“holder”对象。一个简单的实现是1个元素的ArrayList。通常你只需要一个以上的输出,在这种情况下,你可以使用一对或元组类型。@ KalMAKZES是的,这是一个解决办法,但是它不可能像Java或C++那样存在java中的实际值传递。@杰斯珀,你能详细说明通过值传递和引用传递的区别吗?这些对我来说似乎是一样的。@kingfrito_5005通过引用传递意味着一个方法可以直接更改从调用方法传递的变量。Java不支持这一点——如果在方法中更改变量,则调用方法中的变量不会更改。变量值的副本被传递给方法,而不是变量本身。精确而简洁的答案
public static void SomeMethod(ref Object obj)
{
...
}