【发布时间】:2022-01-01 10:25:20
【问题描述】:
假设我创建了一个大小为 1 的对象数组(动物),但后来我调用了一个函数,该函数返回一个大小为 5 的对象数组。会发生什么,动物现在将变成一个由 5 个对象组成的数组,或者它会给我一些错误吗?
Animal[] animals = new Animal[1];
animals[0] = new Animal();
animals = createAnimals();
【问题讨论】:
-
你尝试的时候发生了什么?
-
"animals" 是对某个数组对象的引用,由
new Animal[1]创建。如果您更改引用(例如,通过对同一变量执行另一个“新”操作),则“动物”将引用不同的对象。此外,如果没有任何其他对原始“Animal[]”数组对象的活动引用,那么它将有资格进行垃圾回收。