在java中所有的数据类型均可以定义数组,既除了基本基本数据类型的数据定义为数组外,引用数据类型也可以定义数组,这样的数组就称为对象数组。
对象数组动态初始化:类 对象数组名称【】 =new 类 【长度】
对象数组静态初始化:类 对象数组名称【】=new 类 【】{实例化对象,实例化对象,.......}
范例:使用动态初始化定义对象数组
public class Person120 {
private String name;
private int age;
public void setName(String name) {
this.name =name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age =age;
}
public int getAge() {
return age;
}
public Person120(){}
public Person120(String name,int age) {
this.name =name;
this.age =age;
}
public String getInfo() {
return "姓名:"+this.name +" 年龄:"+this.age;
}
}
----------------------------------------------------------------
public class Person120a {
public static void main(String[] args) {
Person120 per []=new Person120[3]; //对象数组动态初始化
per[0]=new Person120("张三",50); //为数组赋值
per[1]=new Person120("李四",30); //为数组赋值
per[2]=new Person120("王五",10); //为数组赋值
for(int x=0;x<per.length;x++) {
System.out.println(per[x].getInfo());
}
}
}
姓名:张三 年龄:50
姓名:李四 年龄:30
姓名:王五 年龄:10
本程序利用数组的动态初始化开辟了三个元素的数组内容(默认情况下数组中的每个元素都是null),随后为数组每一个对象进行了对象实例化操作。
对象静态初始化与动态初始化两者的本质目标相同,静态初始化优质在于声明对象数组时就可以传递若干实例化对象,这样可以避免数组中每一个元素单独实例化。
范例:对象数组静态的初始化`
public class Person120b {
public static void main(String[] args) {
Person120 per []=new Person120 [] {
new Person120("张三",50),new Person120("李四",30),new Person120("王五",10)
};
for(int x=0;x<per.length ;x++) {
System.out.println(per[x].getInfo());
}
}
}
姓名:张三 年龄:50
姓名:李四 年龄:30
姓名:王五 年龄:10
提示:对象数组内容初始化时也可以利用引用传入
以上两个程序都实例化了新的Person类对象,实际上如果在程序中已经存在有若干个实例化对象,只要类型符合也可直接设置为对象数组的内容
动态初始化操作
Person perA=new Person("张三",20);
Person perA=new Person("李四",20);
Person per [] =new Person[3];
per[0]=perA; //引用其他对象
per[1]=perB; //引用其他对象
per[2]=(new Person("王五",20));
静态初始化操作
Person perA=new Person("张三",20);
Person perA=new Person("李四",20);
Person per [] =new Person[] {perA,perB,new Person("王五",20)};