本章目标
掌握对象数组的使用
掌握对象数组的静态及动态初始化
对象数组
所谓的对象数组,就是指包含了一组相关的对象,但是在对象数组的使用中读者一定要清楚一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须分别进行实例化操作。
对象数组的声明
——类 对象数组名称[] = new 类[数组长度] ;
动态初始化
class Person{
private String name;//姓名属性
public Person(String name){//通过构造方法设置内容
this.name = name;//为姓名赋值
}
public String getName(){//取得姓名
return this.name;
}
}
public class ObjectArrayDemo01 {
public static void main(String[] args) {
Person per[] = new Person[3];//声明一个对象数组,里面有 3 个对象
//对象数组初始化之前,每一个元素都是默认值
System.out.println("============数组声明============");
for(int x=0; x<per.length; x++){
System.out.print(per[x] + "、");//循环输出
}
//分别为数组中的每个元素初始化,每一个都是对象,都需要单独实例化
per[0] = new Person("张三");//实例化第 1 个元素
per[1] = new Person("李四");//实例化第 2 个元素
per[2] = new Person("王五");//实例化第 3 个元素
System.out.println("\n============对象实例化============");
for(int x = 0; x<per.length; x++){
System.out.print(per[x].getName() + "、");
}
}
/* 结果:
* ============数组声明============
* null、null、null、
* ============对象实例化============
* 张三、李四、王五、
* */
}
静态初始化
class Person02{
private String name;//姓名属性
public Person02(String name){//通过构造方法设置内容
this.name = name;//为姓名赋值
}
public String getName(){//取得姓名
return this.name;
}
}
public class ObjectArrayDemo02 {
public static void main(String[] args) {
//声明一个对象数组,里面有 3 个对象,使用静态初始化方式
Person02 per[] = {new Person02("张三"),new Person02("李四"),new Person02("王五")};
System.out.println("============数组输出============");
for(int x = 0; x<per.length; x++){//循环输出
System.out.print(per[x].getName() + "、");
}
}
/* 结果:
* ============数组输出============
* 张三、李四、王五、
* */
}