标签:
对象数组:就是指包含了一组相关的对象。
对象数组的声明:类对象数组名称[]=new 类[数组长度];
需要注意的是,对象数组初始化之前,每一个数字对象都是默认值,并没有实例化,所以需要分别实例化!
1)动态初始化:类 对象数组名称[]=new 类[数组长度];
对象数组名称[i]=new 类(参数,参数,参数,);
2)静态初始化:类 对象数组名称[]={new 类(参数,参数),new 类(参数,参数),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() + "、") ; // 此时,已经实例化完成了,所以会直接打印出姓名 } } };
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() + "、") ; // 此时,已经实例化完成了,所以会直接打印出姓名 } } };
必须注意:对象数组中元素必须单独实例化。否则内容就是空。
标签:
原文地址:http://www.cnblogs.com/alsf/p/5518407.html