在Java中所有的数据类型均可以定义为数组,即除了基本数据类型的数据定义为数组外,引用数据类型也可以定义数组,这样的数组就成为对象数组,对象数组的定义可以采用以下的形式完成。
对象数组动态初始化:类 对象数组名称[] = new 类 [长度];
对象数组静态初始化:类 对象数组名称[] = new 类[]{实例化对象,实例化对象,…};
接下啊通过一组简单的代码了解一下使用动态初始化定义对象数组

class person{ 	//引用类型
	private String name;	//成员属性
	private int age;	//成员属性
	public String getName() {	//相应的get、setter方法	
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public person(String name, int age) {	//属性初始化
		this.name = name;	//为name属性赋值
		this.age = age;		//为age属性赋值
	}
	public person() {
	}
	public String getInfo(){		//获取对象信息
		return "姓名:" + this.name + "、年龄:" + this.age;
	}
}



public class JavaDemo2 {
	public static void main(String[] args) {
		person per[] = new person[3];	//对象数组动态初始化
		per[0] = new person("张三", 20);	//为数组赋值
		per[1] = new person("李四", 18);	//为数组赋值
		per[2] = new person("王五",22);	//为数组赋值
		for (int i = 0; i < per.length; i++) {	//循环输出
			System.out.println(per[i].getInfo());
		}
	}
}

本程序利用对象数组的动态初始化开辟了3个元素的数组内容,随后为数组的每一个对象进行了对象实例化操作。
对象数组静态初始化与动态初始化两者的本质目标相同,静态初始化优势在于声明对象数组时就可以传递若干个实例化对象,这样可以避免数组中每一个元素单独实例化。

在对对象数组静态初始化的举例:

class person{ 	//引用类型
	private String name;	//成员属性
	private int age;	//成员属性
	public String getName() {	//相应的get、setter方法	
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public person(String name, int age) {	//属性初始化
		this.name = name;	//为name属性赋值
		this.age = age;		//为age属性赋值
	}
	public person() {
	}
	public String getInfo(){		//获取对象信息
		return "姓名:" + this.name + "、年龄:" + this.age;
	}
}



public class JavaDemo2 {
	public static void main(String[] args) {
		person per[] = new person[] {
				new person("张赛楠",15),new person("阿迪王",45),new person("辛巴",22)
		};
		for (int i = 0; i < per.length; i++) {
			System.out.println(per[i].getInfo());
		}
	}
}

其两种的运行结果如下:

java对象数组调用构造函数 java对象数组定义_赋值


在该程序中数组创建时通过person类的构造方法实例化了若干个对象,并且使用这些对象作为对象数组中的内容。