对象数组
1.1 对象数组的声明
所谓的对象数组,就是包含了一组相关的对象,但是使用对象数组一定要注意一点:数组一定要先开辟空间,但是因为其是引用数据类型,所以数组里面的每一个对象都是null值,则在使用的时候数组中的每一个对象必须进行实例化操作。
声明形式: 类 对象数组名称[]=new 类[数组长度];
class Person { private String name ; public Person(String name){ this.name=name; } public String getName(){ return this.name; } }; public class ObjectArray { public static void main(String args[]){ Person per[]=new Person[3]; for(int i = 0;i<per.length;i++){ System.out.print(per[i]+","); } } };
结果为:
F:\java>javac ObjectArray.java
F:\java>java ObjectArray
null,null,null,
1.2: 数组中的每一个元素都是类对象,需要单独实例化。
class Person { private String name ; public Person(String name){ this.name=name; } public String getName(){ return this.name; } }; public class ObjectArray { public static void main(String args[]){ Person per[]=new Person[3]; for(int i = 0;i<per.length;i++){ System.out.print(per[i]+","); } per[0]=new Person("张三"); per[1]=new Person("李四"); per[2]=new Person("王五"); for(int i = 0;i<per.length;i++){ System.out.print(per[i].getName()+","); } } };
结果为:
F:\java>javac ObjectArray.java
F:\java>java ObjectArray
null,null,null,张三,李四,王五,
1.3: 数组在使用的时候分为静态初始化和动态初始化,对象数组也一样。
动态初始化为:
class Person { private String name ; public Person(String name){ this.name=name; } public String getName(){ return this.name; } }; public class ObjectArray { public static void main(String args[]){ Person per[]=new Person[3]; for(int i = 0;i<per.length;i++){ System.out.print(per[i]+","); } per[0]=new Person("张三"); per[1]=new Person("李四"); per[2]=new Person("王五"); for(int i = 0;i<per.length;i++){ System.out.print(per[i].getName()+","); } } };
而静态初始化为:
结果为:
F:\java>javac ObjectArray.java
F:\java>java ObjectArray
张三,李四,王五,