对象数组,就是指包含一组相关的对象,在对象数组的使用中,数组一定要先开辟空间,但是因为其是引用数据类型,所以数组中每一个值都是null值,则在使用的时候数组中没一个对象必须进行实例化操作。
对象数组的声明
类 对象数组名称[] = new 类[数组长度];
class Person
{
private String name ; //声明String对象
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] ;//开辟空间为3的数组
System.out.println("------数组声明------") ;
//对象数组初始化之前,每一个元素都是默认值null
for(int i=0;i<per.length;i++)
{
System.out.print(per[i]+",") ;//只是开辟了空间,所以默认值是null
}
//分别为数组中每个元素初始化,每一个都是对象,都需要实例化
per[0] = new Person("张三") ; //实例化第一个元素
per[1] = new Person("李四") ; //实例化第二个元素
per[2] = new Person("王五") ; //实例化第三个元素
System.out.println("\n----对象数组实例化-----") ;
for(int i=0;i<per.length;i++)
{
System.out.print(per[i].getName()+",") ; //此时实例化完成输出元素
}
}
}
使用静态初始化实例化对象数组
class Person
{
private String name ; //声明String对象
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 i=0;i<per.length;i++)
{
System.out.print(per[i].getName()+",") ; //此时实例化完成输出元素
}
}
}
注意点
对象数组中,每一个元素都必须单独实例化,否则内容就是null