Этот код немного сбивает с толку. Ваш массив объектов должен иметь ссылку на AnObject
.
AnObject oldObject = arrayOfObjects[validIndex];
Вы назначаете эту ссылку oldObject
здесь.
arrayOfObjects[validIndex] = new AnObject(oldObject.getVariableForContruction);
Теперь вы устанавливаете ссылку на массив на validIndex
, чтобы указывать на новый экземпляр AnObject
. Больше не указывает на oldObject
.
oldObject.terminate();
Это ссылка на объект в куче.
oldObject
относится к экземпляру в куче; ссылка в массиве указывает на новый экземпляр, который вы создали в куче.
Если oldObject
завершен (что бы это ни значило), это не имеет значения для нового экземпляра, который вы создали. Массив по-прежнему указывает на новый экземпляр.