对象数组介绍
在Java中,对象数组是指由对象类型的元素组成的数组。与基本类型数组不同,对象数组可以存储对象的引用。对象数组的声明和初始化方式与基本类型数组类似。例如,可以使用以下语法声明和创建一个对象数组:
类名[ ] 对象数组名 = new 类名[ 数组大小]
以创建Student类的对象数组为例
Student[] stu = new Student[3]; //创建3个学生对象
初始化对象数组
当我们创建一个对象数组时,数组中的每个元素会被初始化为对象的默认值。对象数组的默认值是 null,表示数组中的元素尚未被赋予有效的对象引用。
Student[] students = new Student [3] ;
定义了一个 pets指向了含有7个Dog对象的数组空间
练习:定义一个Car汽车对象, 创建一个汽车对象数组,里面可以放10个Car.
练习:
对象数组的赋值,对象方法的调用
pets[0]=new Dog();
pets[0].name="Fido";
pets[0].bark();
数组中存放的对象引用指向创建的Dog对象,通过数组索引表示的对象引用访问成员变量或调用方法
练习:定义一个Car汽车对象, 创建一个汽车对象数组,里面可以放10个Car.
申明一个属性name,申明一个方法go 无返回值,为对象数组中的前两个元素赋值,一个为宝马,一个为奔驰。并分别调用go方法
另一个练习例子:
public class ObjectArrayDemo {
public static void main(String[] args) {
// 创建学生对象数组
Student[] students = new Student[3];
students[0] = new Student("Alice", 18, 'F', 85.5);
students[1] = new Student("Bob", 20, 'M', 90.0);
students[2] = new Student("Carol", 19, 'F', 92.5);
// 遍历并打印学生信息
for (int i = 0; i < students.length; i++) {
Student student = students[i];
System.out.println("Name: " + student.name);
System.out.println("Age: " + student.age);
System.out.println("Gender: " + student.gender);
System.out.println("Score: " + student.score);
System.out.println();
}
}
}
class Student {
String name;
int age;
char gender;
double score;
public Student(String name, int age, char gender, double score) {
this.name = name;
this.age = age;
this.gender = gender;
this.score = score;
}
}
上面这个代码中
我们定义了一个 Student 类,该类包含了学生的姓名、年龄、性别和成绩属性。我们使用构造函数来初始化学生对象的属性。
在 main 方法中,我们创建了一个长度为3的学生对象数组 students,并使用动态初始化为每个元素赋值。然后,使用 for循环遍历数组,并通过调用对象的访问方法打印每个学生的信息。
对象的垃圾回收
垃圾回收(Garbage Collection,简称GC)是内存管理的核心组成部分
负责自动回收不再使用的内存空间。在Java中,程序员不需要手动释放对象占用的内存,一旦对象不再被引用,垃圾回收器就会在适当的时机回收它们所占用的内存。这样可以避免内存泄漏和野指针,从而大大减轻了程序员的负担,也使得Java成为一个相对安全、易于开发的编程语言。