对象数组的概念:
如果数组中的元素是对象类型,则数组称为对象数组。
如果需要一个类中的多个对象,则必须用该类的对象数组表示,并且可以通过改变下标值来访问不同的对象。
对象数组的定义和使用:
对象数组的定义与常见数组的定义类似,但必须为每个元素实例化。
对象数组的声明形式是:
类名对象的数组名称[ ];
为对象数组分配内存空间:
数组名称=new类名[数组长度] //注意:这里不是结构方法
可以在一条语句中声明和创建对象数组。 例如,定义学生类的对象数组。 可以用以下语句定义: Student stu[ ]=new Student[30]; stu [ ]是对象数组的名称,它表示的数组共有30个元素。 每个元素都是Student类的对象名称,而且尚未实例化,因此还必须实例化每个元素。 例如以下过程。
for(intI=0; istu.length; I )
stu[i]=new Student (;
实例化后,每个元素对象都将变为可用。
设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息
//设计员工类,建立员工类的对象数组,输出每个员工的信息class Employee { //员工类private String id; //编号private String name; //名称private int age; //年龄private String vocation; //职务public employee ()//构建方法一publicemployee(stringid,String name,int age,String vocation ) set ) id,name,age //this.name=name; this.age=age; this.vocation=vocation; } public String toString () ({ String mess=id )、' name )、' age )、' vocation; 返回消息; } public class example4{ publicstaticvoidmain (string [ ] args ) { Employee员工()=newemployee(3); int i; for(I=0; 长度; I )//为对象数组中的每个元素实例化员工[i]=new Employee; 如果这样写而不写//构造函数1,则会出现错误。如果//类具有参数的构造函数,则默认情况下系统不会传递给无参数的构造函数,因此在//类上写了具有参数的构造函数后. set('0001 ','张文)必须单独初始化的员工[1].set('0002 ',' ssdj ',45,'副总裁'); 员工[2].set('1016 ',' kfdzt ',28,'秘书'); 企业员工: (for ) system.out.println (企业员工) employee.tostring ); }
普通型for循环和增强型for循环
普通型
a={ 1,2,3,4,5 }; for(intI=0; ia.length; I ) system.out.println9(a[1]; }强化型
for(intelement:a ) system.out.println ) element; }两者的结果相同,但强化后更简洁
也可以通过初始化的方法创建对象数组。 制作形式如下。
类名的对象数组名称[ ]={对象列表};
设计一个雇员类,创建雇员类的对象数组并初始化,输出每个雇员的信息,仍然沿用上面的Employee类,程序如下
class Employee { //员工类private String id; //编号private String name; //名称private int age; //年龄private String vocation; //职务public employee ()//构建方法一publicemployee(stringid,String name,int age,String vocation ) set ) id,name,age //this.name=name; this.age=age; this.vocation=vocation; } public String toString () ({ String mess=id )、' name )、' age )、' vocation; 返回消息; } public class example 11 { publicstaticvoidmain (string [ ] args )//之前有三个员工对象employee employee1=new employee (' 0001 ' ) employee employee3=new employee (' 1016 ',' kfdzt ',28,'秘书'); //声明对象数组,Employee员工1[]={employee1,employee2,employee3}; output (员工1; //员工信息system.out.print ln (-------- ); //分隔线//声明对象数组并直接初始化,初始化元素直接调用//生成方法调用对象Employee员工2[]={newemployee () 0001 )、(张文军)、50、(总经理)、newemployee output (员工2; //定义方法用于输出员工信息。 注意方法为private,staticprivatestaticvoidoutput (employee员工() ) for (employee employee 3360员工) system.out.prot }