Java对象数组初始化需先声明引用再用new创建容器,然后逐个实例化对象;遍历常用for循环。声明时元素默认为null,必须显式赋值对象才能调用方法,也可用大括号语法一步完成声明与初始化。

Java 中对象数组的初始化和遍历,核心在于:先声明数组引用,再用 new 创建数组容器,然后逐个为每个元素赋值(即创建实际对象),最后通过循环访问。
对象数组的声明与初始化
对象数组存储的是对象的引用,不是对象本身。初始化分两步:分配数组空间 + 为每个位置创建具体对象。
-
声明并分配数组空间(但元素仍为 null):
Student[] students = new Student[3];
此时students是长度为 3 的数组,但students[0]、students[1]、students[2]全是null,还不能调用方法。 -
逐个实例化对象(关键步骤):
students[0] = new Student("张三", 18);
students[1] = new Student("李四", 19);
students[2] = new Student("王五", 20); -
也可以一步完成声明、创建和赋值(推荐写法):
Student[] students = {
new Student("张三", 18),
new Student("李四", 19),
new Student("王五", 20)
};
使用 for 循环遍历对象数组
最常用、最直观的方式,适合需要索引或修改元素的场景。
- for (int i = 0; i
System.out.println(students[i].getName() + ": " + students[i].getAge());
} - 注意判空:如果某些位置未初始化(仍是
null),访问前应检查:
if (students[i] != null) { ... }
使用增强 for 循环(for-each)遍历
代码更简洁,适用于只读访问,无需索引。
立即学习“Java免费学习笔记(深入)”;
- for (Student s : students) {
if (s != null) {
System.out.println(s.getName() + ": " + s.getAge());
}
} - 增强 for 无法直接获取下标,也不能在遍历时安全地删除或替换数组元素。
使用 Arrays 工具类辅助操作
适合快速打印、查找或转换,提升开发效率。
-
打印整个数组内容(需重写
toString()):
System.out.println(Arrays.toString(students)); -
将数组转为 List(便于集合操作):
Listlist = Arrays.asList(students);
注意:该 List 是固定大小的,不支持增删;若要可变,需包装:
new ArrayList(Arrays.asList(students))


















