gpt4 book ai didi

java - 数组中的元素是对对象的引用还是对自身的引用?

转载 作者:行者123 更新时间:2023-11-29 08:14:15 26 4
gpt4 key购买 nike

如果我有一个 AnObjects 数组并且我这样做:

AnObject oldObject = arrayOfObjects[validIndex];
arrayOfObjects[validIndex] = new AnObject(oldObject.getVariableForContruction);
oldObject.terminate();

arrayOfObjects[validIndex] 的新内容被终止,还是原始的 oldObject 被终止?

换句话说:oldObject 包含对 AnObject 的引用还是包含对 AnObject 引用的引用?

最佳答案

这段代码有点困惑。您的对象数组必须引用 AnObject

AnObject oldObject = arrayOfObjects[validIndex];

您在此处将该引用分配给 oldObject

arrayOfObjects[validIndex] = new AnObject(oldObject.getVariableForContruction);

现在您将 validIndex 中的数组引用设置为指向 AnObject 的新实例。它不再指向 oldObject

oldObject.terminate();

它是对堆上对象的引用。

oldObject 指的是堆上的一个实例;数组中的引用指向您在堆上创建的新实例。

如果 oldObject 被终止(无论那意味着什么),它对您创建的新实例来说并不重要。该数组仍然指向新实例。

关于java - 数组中的元素是对对象的引用还是对自身的引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5771317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com