如何在Java中创建对象引用数组?

时间:2015-08-07 11:39:48

标签: java arrays reference

我想为一个类创建一个对象引用数组,但是不想实际创建要分配到数组的对象。我该怎么办?

4 个答案:

答案 0 :(得分:3)

  

我想为类

创建一个对象引用数组
ClassName [] classesArray = new ClassName [size];

创建一个数组。

  

但不想实际创建要分配到数组的对象。

到目前为止,您尚未创建任何对象。只是不要分配。

答案 1 :(得分:1)

您可以将new Foo[n] n评估为非负整数。这将创建一个大小为n的数组,该数组将初始化为null Foo个引用。

在实践中,您将 分配给其他可以立即进行垃圾收集或可能完全优化的内容:

Foo[] a = new Foo[n];

答案 2 :(得分:1)

数组用于存储原始值和对象。例如,我们可以创建一个String数组或任何类对象。 为了解释,让我们创建一个包含单个实例变量empId的类Employee。以下是此类的定义。

class Employee{
   int empId;
}

以下列方式创建对象数组,就像基本类型数据项的数组一样。

Employee[] EmployeeArray = new Employee[10];

上面的语句创建了一个数组,该数组可以保存对十个Employee对象的引用。它不会自己创建Employee对象。 必须使用Employee类的构造函数单独创建它们。 EmployeeArray包含十个内存空间 可以存储十个Employee对象的地址。如果我们尝试在创建它们之前访问Employee对象,则会发生运行时错误。

必须使用Employee类的构造函数实例化Employee对象,并且应按以下方式将其引用分配给数组元素。

EmployeeArray[0] = new Employee();

通过这种方式,我们也创建了其他Employee对象。如果必须使用不同的构造函数创建每个Employee对象,我们会多次使用类似于上面的语句。但是,在这种特殊情况下,我们可能会使用for循环,因为所有Employee对象都是使用相同的默认构造函数创建的。

for ( int i=0; i<EmployeeArray.length; i++) {
EmployeeArray[i]=new Employee();
}

上面的for循环创建了10个Employee对象,并为数组元素分配了它们的引用。

答案 3 :(得分:0)

这是普通数组。

int [] xr = new int[5];

创建数组后,可以为该元素分配值。

xr[0]=100;

接下来,我们将看到什么是对象引用数组。

employee [] person = new employee[4];

此对象数组中有5个元素。此数组的类型为employee.like int long short..etc。这个数组有5个元素。所有元素都是人。现在我们可以为这个对象数组分配一个值。仔细看看!

person[0]= new employee();