Array是否会创建添加的类的新对象?

时间:2015-07-26 19:30:40

标签: java arrays

我想在同一个实例中添加不同的类(例如:Dog,Cat,Mouse)到一个数组(例如:数组动物)。

示例代码:

Array<Animal> animals = new Array<>();
Cat cat = new Cat();
Dog dog = new Dog();

animals.add(cat);
animals.add(dog);

是否:animals = new Array<>()创建新的Dog,Cat等对象?

因为我不打算同一个类的两个对象,只是一个引用
的数组 这些课程

2 个答案:

答案 0 :(得分:1)

这个答案假设Array<T>是一个简单的数组,其功能类似于标准集合类型。

不,它只是分配一块内存,一旦你创建它们就可以指向你的对象。

Array<Animal> animals = new Array<>();

将为您找到一块内存。当你这样做时:

Cat cat = new Cat();

您将创建指向对象cat的指针。当你这样做时:

animals.add(cat);

您将把指针放在数组已分配的内存块的第一个位置。

答案 1 :(得分:0)

什么是“Array<Animal>”?在java中,它可以是Animal[]List<Animal>之类的东西。在这两种情况下,都不会创建Animal对象,只是稍后要存储它们。