上一篇
在Java中,使用另一个类的数组需先创建目标类数组对象,通过索引访问元素后调用其方法或属性,
OtherClass[] arr = new OtherClass[5]; arr[0].method();
定义目标类
首先创建另一个类(如Student),用于后续创建数组:
public class Student {
private String name;
private int age;
// 构造方法
public Student(String name, int age) {
this.name = name;
this.age = age;
}
// Getter方法
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
在另一个类中使用数组
在调用类(如MainClass)中创建并操作该类的数组:

public class MainClass {
public static void main(String[] args) {
// 创建Student类的数组(长度为3)
Student[] students = new Student[3];
// 初始化数组元素
students[0] = new Student("Alice", 20);
students[1] = new Student("Bob", 22);
students[2] = new Student("Charlie", 21);
// 遍历访问数组元素
for (Student s : students) {
System.out.println("Name: " + s.getName() + ", Age: " + s.getAge());
}
}
}
高级操作示例
(1) 动态输入数组
import java.util.Scanner;
public class MainClass {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("输入学生数量: ");
int count = scanner.nextInt();
Student[] students = new Student[count];
for (int i = 0; i < count; i++) {
System.out.print("输入姓名: ");
String name = scanner.next();
System.out.print("输入年龄: ");
int age = scanner.nextInt();
students[i] = new Student(name, age);
}
}
}
(2) 数组作为方法参数
public class MainClass {
// 方法:打印学生数组
public static void printStudents(Student[] arr) {
for (Student s : arr) {
System.out.println(s.getName());
}
}
public static void main(String[] args) {
Student[] students = new Student[2];
students[0] = new Student("Tom", 23);
students[1] = new Student("Lily", 21);
printStudents(students); // 传递数组给方法
}
}
关键注意事项
-
空指针异常
创建数组后需初始化每个元素:// 错误示例:未初始化直接访问 Student[] arr = new Student[3]; System.out.println(arr[0].getName()); // 抛出NullPointerException
-
数组长度固定
使用ArrayList(集合类)可动态扩容:
import java.util.ArrayList; ArrayList<Student> list = new ArrayList<>(); list.add(new Student("John", 25)); // 自动扩展大小 -
访问控制
确保目标类的字段/方法有正确的访问权限(如private字段需通过public getter访问)。
完整执行流程
graph LR A[定义目标类 Student] --> B[在调用类中声明数组] B --> C[初始化数组元素] C --> D[通过循环/索引操作数据] D --> E[使用Getter安全访问字段]
- 创建另一个类的数组:
目标类[] 数组名 = new 目标类[长度]; - 必须为每个数组元素单独实例化对象
- 通过Getter方法访问私有字段保证封装性
- 结合循环可高效处理批量数据
通过以上实践,你能安全地在Java中跨类操作对象数组,为复杂数据管理奠定基础。
引用说明基于Oracle官方Java教程和《Effective Java》中的最佳实践编写,遵循OOP封装原则,确保代码健壮性。

