Java 中的对象数组

2025年5月14日 | 阅读 6 分钟

在 Java 中,数组是相同数据类型的集合,它动态创建对象,并且可以包含基本类型或对象的元素。Java 允许我们将对象存储在数组中。

对象数组是存储在单个变量中的多个对象的集合。它存储对象的引用。当有效地管理类的多个实例时,它非常有用。

How to Create Array of Objects in Java

创建对象数组

在创建对象数组之前,必须使用 new 关键字创建类的实例。我们可以使用以下任何语句来创建对象数组。

语法

假设我们已经创建了一个名为 Employee 的类。我们想保留一家拥有三个部门的公司的 20 名员工的记录。在这种情况下,我们不会创建 20 个单独的变量。取而代之的是,我们将创建一个对象数组,如下所示。

上述语句创建了一个包含 20 个元素的数组对象。

示例:创建对象数组

在下面的程序中,我们创建了一个名为 Product 的类,并使用构造函数初始化了一个对象数组。我们创建了一个 Product 类的构造函数,它包含产品 ID 和产品名称。在 main() 函数中,我们创建了 Product 类的单个对象。之后,我们通过构造函数将初始值传递给每个对象。

示例

编译并运行

输出

Product Object 1:
Product ID = 23907 Product Name = Dell Laptop
Product Object 2:
Product ID = 91240 Product Name = HP 630
Product Object 3:
Product ID = 29823 Product Name = LG OLED TV
Product Object 4:
Product ID = 11908 Product Name = MI Note Pro Max 9
Product Object 5:
Product ID = 43590 Product Name = Kingston USB

初始化对象数组

在实例化对象之后,必须使用值初始化数组。与原始数据类型数组不同,对象数组不能以相同的方式初始化。有必要初始化对象数组中的每个元素或对象。数组通过其对象包含指向实际类的指针。

因此,强烈建议在声明和实例化对象数组后生成类的实际对象。构造函数可以设置数组。应用程序可以通过向构造函数提供值来为实际对象分配初始值。类的独立成员方法也可用于为对象分配数据。

对象数组的元素在创建后必须进行初始化。有两种常用方法可用于执行此操作

  1. 使用构造函数
  2. 使用 Setter 方法

1. 使用构造函数

通过单独向构造函数提供变量,我们可以在创建实际对象时为每个对象定义初始值。每个实际对象都带有其独特的值。

示例

编译并运行

输出

Book details:
Book ID: 101, Title: Java Basics
Book ID: 102, Title: Data Structures
Book ID: 103, Title: Operating Systems

3. 使用 Setter 方法

使用 Setter 方法,我们可以在创建对象后分配值。对象的初始值使用相应类中创建的成员函数进行分配。

示例

编译并运行

输出

Book details:
Book ID: 201, Title: Java Programming
Book ID: 202, Title: Algorithms
Book ID: 203, Title: Database Systems

要记住的重要事项

  • 数组存储对象的引用,而不是对象本身。
  • 对象使用 new 关键字动态创建,而数组存储它们的引用。
  • 我们可以使用循环来访问和修改每个对象。

对象数组选择题

1. 在 Java 中,对象数组存储什么?

  1. 实际对象
  2. 对象引用
  3. 原始值
  4. 以上都不是

答案:2)

解释:在 Java 中,对象数组存储对象的引用,而不是对象本身。对象是使用 new 关键字单独创建的。


2. 以下哪种是在 Java 中声明对象数组的正确方法?

  1. Student students = new Student[6];
  2. Student students = new Student();
  3. Student[] students = new Student[6];
  4. Student students[6] = new Student[];

答案:3)

解释:声明对象数组的正确语法是 Student[] students = new Student[5];。这会创建一个可以保存 Student 对象引用的数组。


3. 如何初始化 Java 对象数组?

  1. Student students = new Student[6];
  2. Student students = new Student();
  3. Student[] students = new Student[6];
  4. Student[] students = {new Student(), new Student()};

答案:4)

解释:我们可以使用 {new Student(), new Student()} 初始化对象数组,或者将单个对象分配给数组索引。


4. 对象数组使用 __________类创建。

  1. Object
  2. 数组
  3. ArrayList
  4. 以上都不是

答案:1)

解释:对象数组使用 'Object' 类创建。


5. 什么是对象数组?

  1. 对象数组是存储在单个变量中的多个对象的集合。
  2. 对象数组是存储在单个变量中的单个对象的集合。
  3. 对象数组是存储在多个变量中的多个对象的集合。
  4. 对象数组是存储在多个变量中的单个对象的集合。

答案:1)

解释:对象数组是存储在单个变量中的多个对象的集合。


下一主题Java 安全包