综合实战:Java映射(简单案例)

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());
			}
		}

	}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值