对象数组
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()+",");
}
}
};
而静态初始化为:
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("张三"),new Person("李四"),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
张三,李四,王五,