本章目标
- 掌握对象数组的使用
- 掌握对象数组的静态及动态初始化
1、具体内容
数组本身是属于引用数据类型的:而类本身也属于引用数据类型的,所以此时不管是引用还是基本数据类型都可以使用数组的格式进行声明并引用。
数组格式: 数据类型 数组名称 [] = 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[]){
// 类名称 数组名称[] = new 类名称[长度]
Person per[] = new Person[3] ; // 开辟了三个空间大小的数组
System.out.println("============== 数组声明 =================") ;
// 对象数组初始化之前,每一个元素都是默认值
for(int x=0;x<per.length;x++){ // 循环输出
System.out.print(per[x] + "、") ; // 因为只是开辟好了空间,所以都是默认值
}
// 分别为数组中的每个元素初始化,每一个都是对象,都需要单独实例化
per[0] = new Person("张三") ; // 实例化第一个元素
per[1] = new Person("李四") ; // 实例化第二个元素
per[2] = new Person("王五") ; // 实例化第三个元素
System.out.println("\n============== 对象实例化 =================") ;
for(int x=0;x<per.length;x++){ // 循环输出
System.out.print(per[x].getName() + "、") ; // 此时,已经实例化完成了,所以会直接打印出姓名
}
}
};
输出结果:
============== 数组声明=================
null、null、null
============== 对象实例化 =================
张三
李四
王五
数组在使用的时候分诶静态初始化和动态初始化,对象数组也一样。
class Person{
private String name ; // 姓名属性
public Person(String name){ // 通过构造方法设置内容
this.name = name ; // 为姓名赋值
}
public String getName(){
return this.name ; // 取得姓名
}
};
public class ObjectArrayDemo02{
public static void main(String args[]){
// 声明一个对象数组,里面有三个对象,使用静态初始化方式完成
Person per[] = {new Person("张三"),new Person("李四"),new Person("王五")} ;
System.out.println("\n============== 数组输出 =================") ;
for(int x=0;x<per.length;x++){ // 循环输出
System.out.print(per[x].getName() + "、") ; // 此时,已经实例化完成了,所以会直接打印出姓名
}
}
};
============== 数组输出 =================
张三、李四、王五、
对象数组是到处可见的,从开始接触Java程序就已经存在了对象数组。(String args[])
2、总结
对象数组中的每个元素必须单独实例化,否则内容就是null。