java对象数组 创建对象数组,初始化对象数组「建议收藏」
2023-06-13 09:11:41 时间
大家好,又见面了,我是你们的朋友全栈君。
对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象。 对象数组的定义和使用: 对象数组的定义与一般数组的定义类似,但是需要为每一个元素实例化。 对象数组的声明形式是: 类名 对象数组名 [ ]; 为对象数组分配内存空间: 对象数组名=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());
}
}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/143937.html原文链接:https://javaforall.cn
相关文章
- java对象和json数据的互转
- Java对象数组
- java对象组声明_如何在Java中声明对象数组?
- java 删除目录下所有文件_Java删除文件、目录及目录下所有文件的方法实例
- Java中一维数组和二维数组初始化 对象数组初始化「建议收藏」
- java map 二维数组_Java二维数组实现简单Map
- java判断一个对象是否为空_Java中判断对象是否为空的方法的详解
- java二维数组试题_Java二维数组及习题总结
- java编写一个学生类和教师类,Java创建一个学生类[通俗易懂]
- java对象类型转换_cdr轮廓转换为对象
- Java接口是什么意思_JAVA接口
- Java集合面试题_java是什么
- Java数组循环_java遍历object数组
- Java字符串转集合_java集合转数组
- java输出一个数组的元素_Java输出数组元素「建议收藏」
- java字符串转换为json对象6_Json对象与Json字符串的转化、JSON字符串与Java对象的转换…
- 数组和对象的深拷贝_Java对象深拷贝工具类
- idea创建java项目的步骤_Java为什么新建不了项目
- java面对对象(下.1)(java关键字理解:static final main)
- 创建线程池的方法_java引用就是对象本身
- Java中当对象不再使用时,不赋值为null会导致什么后果 ?
- Java Activiti6.0 spring5 SSM 工作流引擎 审批流程 java项目框架详解编程语言
- Java IO详解(六)——序列化与反序列化(对象流)编程语言
- Java中substring内存泄露问题详解编程语言
- Linux环境下编译Java程序的指南(linux编译java)
- Java编程操作Oracle数据库(java操作oracle)
- 时间利用Java设置Redis键值对过期时间(redisjava过期)
- Redis搭配Java实现数据过期(redisjava过期)
- 使用Redis存储Java对象(redis存java对象)
- 深入认识Java面试与MySQL及其思考(java面试mysql)
- 深入JAVA对象深度克隆的详解