前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java对象数组 创建对象数组,初始化对象数组

java对象数组 创建对象数组,初始化对象数组

作者头像
用户7886150
修改2021-02-01 10:39:53
3.8K0
修改2021-02-01 10:39:53
举报
文章被收录于专栏:bit哲学院

参考链接: Java实例初始化

对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。 对象数组的定义和使用: 对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。 对象数组的声明形式是: 类名 对象数组名 [ ]; 为对象数组分配内存空间: 对象数组名=new 类名[数组长度];//注意 :此处不是构造方法了 可以将对象数组的声明和创建用一条语句来完成。例如:定义一个学生类对象数组,可以用下面的语句定义:Student stu[ ]=new Student[30]; stu [ ]是对象数组名,它所表示的数组一共有30个元素,每一个元素都是Student类的对象名,还没有实例化,所以还必须为每一个元素实例化。比如如下的过程: for(int i=0;i<stu.length;i++) stu[i]=new Student(); 实例化以后就可以使用每一个元素对象。 设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息 

//设计一个雇员类,并创建雇员类的对象数组,输出每个雇员的信息

class Employee {   //雇员类

 private String id;  //编号

 private String name; //姓名

 private int age;     //年龄

 private String vocation; //职务

 public Employee(){} //构造方法一

 public Employee(String id,String name,int age,String vocation){

  set(id,name,age,vocation);

 }

 //设置属性的方法

 public void set(String id,String name,int age,String vocation){

  this.id=id;

  this.name=name;

  this.age=age;

  this.vocation=vocation;

 }

 public String toString() {

  String mess=id+","+name+","+age+","+vocation;

  return mess;

 }

}

public class Example4  {

 public static void main(String[] args) {

  Employee 雇员[]=new Employee[3];

  int i;

  for(i=0;i<雇员.length;i++)//为对象数组中每一个元素实例化

  雇员[i]=new Employee();//如果没有写构造方法一,而这样写,会出错

  //因为类中有有参的构造方法,系统就不会在默认给无参的构造方法了,

  //所以当类中写了有参的构造方法后,要用无参的构造方法时必须写出来

  //每一个对象元素分别初始化

  雇员[0].set("0001","张文军",50,"总经理");

  雇员[1].set("0002","李琦",45,"副经理");

  雇员[2].set("1016","张丽",28,"秘书");

  for (Employee employee:雇员)

   System.out.println(employee.toString());

 }

}

 普通型for循环和增强型for循环 普通型 

a={1,2,3,4,5};

for(int i=0;i<a.length;i++) {

 System.out.println9(a[1]);

}

增强型 

for(int element:a) {

System.out.println(element);

}

两者结果相同,但是增强型更为简洁 

对象数组还可以采用初始化的方法创建。创建形式是: 类名 对象数组名[ ]={对象列表}; 

设计一个雇员类,创建雇员类的对象数组并初始化,输出每个雇员的信息,仍然沿用上面的Employee类,程序如下 

class Employee {   //雇员类

 private String id;  //编号

 private String name; //姓名

 private int age;     //年龄

 private String vocation; //职务

 public Employee(){} //构造方法一

 public Employee(String id,String name,int age,String vocation){

  set(id,name,age,vocation);

 }

 //设置属性的方法

 public void set(String id,String name,int age,String vocation){

  this.id=id;

  this.name=name;

  this.age=age;

  this.vocation=vocation;

 }

 public String toString() {

  String mess=id+","+name+","+age+","+vocation;

  return mess;

 }

}

public class Example11 {

 public static void main(String[] args) {

  //先创建3个雇员对象

  Employee employee1=new Employee("0001","张文军",50,"总经理");

  Employee employee2=new Employee("0005","李琦",45,"副经理");

  Employee employee3=new Employee("1016","张丽",28,"秘书");

  //声明对象数组并直接初始化

  Employee 雇员1[]={employee1,employee2,employee3};

  output(雇员1);//输出雇员信息

  System.out.println("------------------");//分割线

  //声明对象数组并直接初始化,初始化元素直接调用

  //构造方法创建对象

  Employee 雇员2[]={new Employee("0001","张文军",50,"总经理"),

  new Employee("0005","李琦",45,"副经理"),

  new Employee("1016","张丽",28,"秘书")};

  output(雇员2);

 }

 //定义方法用于输出雇员信息,注意方法是private,static

 private static void output(Employee 雇员[]){

  for(Employee employee:雇员)

   System.out.println(employee.toString());

 }

}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档