class Dept {// 部门类
private int deptNo;// 部门编号
private String depName;// 部门名称;
private String loc;// 部门地点
private Emp[] emp;
public Dept(int deptno, String dname, String loc) {
this.deptNo = deptno;
this.depName = dname;
this.loc = loc;
}
// 一个部门存在多个雇员,表达多个雇员就用数组
public void setEmp(Emp[] emp) {
this.emp = emp;
}
public Emp[] getEmp() {
return this.emp;
}
public String getInfo() {
return "部门编号:" + this.deptNo + ",名称:" + this.depName + ",位置:" + this.loc;
}
}
class Emp {// 雇员类
private int empNo;// 雇员编码、
private String empName;// 雇员姓名
private String job;// 雇员职位
private double sal;// 雇员工资
private double comm;// 雇员提成
private Dept dept;
private Emp mgr;
public Emp(int empNo, String empName, String job, double sal, double comm) {
this.empNo = empNo;
this.empName = empName;
this.job = job;
this.sal = sal;
this.comm = comm;
}
// 一个雇员属于一个部门
public void setDept(Dept dept) {
this.dept = dept;
}
public Dept getDept() {
return this.dept;
}
// 一个雇员有一个领导
public void setMgr(Emp mgr) {
this.mgr = mgr;
}
public Emp getMgr() {
return this.mgr;
}
public String getInfo() {
return "雇员编号:" + this.empNo + ",姓名:" + this.empName + ",职位:" + this.job + ",工资:" + this.sal + ",奖金:"
+ this.comm;
}
}
public class TestDemo {
public static void main(String[] args) {
// 1.设置数据 ,产生各自独立对象
Dept dept = new Dept(10, "贪玩揽月", "China");
Emp ea = new Emp(167, "渣渣辉", "青铜战士", 500.0, 0.0);// 雇员信息
Emp eb = new Emp(167, "骨天咯", "黄金战士", 600.0, 0.0);// 雇员信息
Emp ec = new Emp(167, "陈小蠢", "白金战士", 700.0, 0.0);// 雇员信息
// 2.设置雇员与领导的关系
ea.setMgr(eb);
eb.setMgr(ec);
// 3.设置雇员与部门关系
ea.setDept(dept);
eb.setDept(dept);
ec.setDept(dept);
dept.setEmp(new Emp[] { ea, eb, ec });
// 4.取出数据,查询单个员工所在的部门的领导信息
System.out.println(ea.getInfo());
System.out.println("渣渣辉的领导:" + ea.getMgr().getInfo());
System.out.println("渣渣辉所在的部门:" + ea.getDept().getInfo());
System.out.println("=======================================================");
// 4.获取一个名门里面所有雇员的信息
System.out.println("部门信息:" + dept.getInfo());
System.out.println("部门里所有雇员与雇员领导的信息:");
for (int i = 0; i < dept.getEmp().length; i++) {
System.out.println("\t|-" + dept.getEmp()[i].getInfo());
if (dept.getEmp()[i].getMgr() != null) {
System.out.println("\t\t|-" + dept.getEmp()[i].getMgr().getInfo());
}
}
}
}
综合实战:Java映射(简单案例)
最新推荐文章于 2021-03-14 21:13:10 发布