对象数组
参考: https://blog.csdn.net/lxxiang1/article/details/82320720
对象数组概念
所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。
在创建对象数组时,我们需要首先使用 new
关键字创建一个数组对象,然后再为其分配内存空间,最后将实例对象存储到数组中。
// 错误示范,不支持在定义数组变量同时为数组元素进行初始化赋值
Person[] persons = new Person[3]{new Person("Alice", 20),new Person("Bob", 21),new Person("Charlie", 22)}
// 正确写法一
Person[] persons = new Person[3];
persons[0] = new Person("Alice", 20);
persons[1] = new Person("Bob", 21);
persons[2] = new Person("Charlie", 22);
// 正确写法二
Person[] persons2 = new Person[] {
new Person("Alice", 20),
new Person("Bob", 21),
new Person("Charlie", 22)
};
// 正确写法三
Person[] persons = { new Person("Alice", 20), new Person("Bob", 21), new Person("Charlie", 22) };
其中大括号 {}
表示分配内存空间并初始化数组元素。在数组元素的初始化中,我们分别创建了三个 Person
类型的实例对象,并将它们存储到了数组中。
示例代码
public class ObjectArrayExample {
public static void main(String[] args) {
// 创建对象数组
Person[] persons = new Person[3];
// 添加元素到对象数组
persons[0] = new Person("Alice", 20);
persons[1] = new Person("Bob", 21);
persons[2] = new Person("Charlie", 22);
Person[] persons2 = new Person[] {
new Person("Alice", 20),
new Person("Bob", 21),
new Person("Charlie", 22)
};
// 遍历对象数组并输出元素
for (int i = 0; i < persons.length; i++) {
System.out.println(persons[i]);
}
for (int i = 0; i < persons2.length; i++) {
System.out.println("persons2"+persons[i]);
}
}
}
// Person 类,包含 name 和 age 属性
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}