Java简单类(部门、领导、雇员关系)
class Dept {
private int deptno ;
private String dname ;
private String loc ;
private Emp emps [] ; //多个雇员
public void setEmps(Emp [] emps) {
this.emps = emps ;
}
public Emp[] getEmps() {
return this.emps ;
}
public Dept(int deptno,String dname,String loc){
this.deptno = deptno ;
this.dname = dname ;
this.loc = loc ;
}
public String getInfo() {
return "部门编号:" + this.deptno + ",名称:" + this.dname + ",位置:" + this.loc ;
}
}
class Emp {
private int empno ;
private String ename ;
private String job ;
private double sal ;
private double comm ;
private Dept dept ;//表示对应的部门信息
private Emp mgr ; //表示雇员对应的领导
public void setMgr(Emp mgr) {
this.mgr = mgr ;
}
public Emp getMgr() {
return this.mgr ;
}
public void setDept(Dept dept){
this.dept = dept ;
}
public Dept getDept() {
return this.dept ;
}
public Emp(int empno,String ename,String job,double sal,double comm){
this.empno = empno ;
this.ename = ename ;
this.job = job ;
this.sal = sal ;
this.comm = comm ;
}
public String getInfo(){
return "雇员编号:" + this.empno + ",姓名:" + this.ename + ",职位:" + this.job + ",工资:" + this.sal + ",佣金:" + this.comm ;
}
}
public class Test2 {
public static void main(String args[]) {
Dept dept = new Dept(10,"ACCOUNTING","CHINA") ; //部门信息
Emp ea = new Emp(7369,"CHEN","CLERK",800.0,0.0);//雇员信息
Emp eb = new Emp(7902,"PENG","MANAGER",2500.0,0.0);//雇员信息
Emp ec = new Emp(7719,"KING","PRESIDENT",5000.0,0.0);//雇员信息
ea.setMgr(eb) ; //雇员与领导
eb.setMgr(ec) ; //雇员与领导
ea.setDept(dept) ; //雇员与部门
eb.setDept(dept) ; //雇员与部门
ec.setDept(dept) ; //雇员与部门
dept.setEmps(new Emp[]{ea,eb,ec}) ;
System.out.println(ea.getInfo()) ;//通过雇员找到领导信息和部门信息
System.out.println("\t|-"+ ea.getMgr().getInfo()) ;
System.out.println("\t|-"+ ea.getDept().getInfo()) ;
System.out.println("----------------------------------------") ;
System.out.println(dept.getInfo()) ;//根据部门找到所有的雇员以及每个雇员的领导信息
for (int x = 0 ;x < dept.getEmps().length ;x ++ ){
System.out.println("\t|-"+ dept.getEmps()[x].getInfo()) ;
if (dept.getEmps()[x].getMgr() != null){
System.out.println("\t|-"+dept.getEmps()[x].getMgr().getInfo()) ;
}
}
}
}
一个部门中有多个雇员,每个雇员有一个领导或者没有领导
Java简单类(部门、领导、雇员关系)的更多相关文章
- Java推断类和实例的关系
通常我们使用instanceOf关键字来推断一个对象是否是类的实例,近期博主看到isInstance关键字,不解与instanceOf的差别,故度娘了一下,顺便涨了一下姿势. Java中推 ...
- Java简单类——双向一对多映射
class Item { // 父栏目 private int iid ; private String name ; private String note ; private Subitem su ...
- Java简单类——多对多映射
class Admin { private String aid ; private String password ; private Role role ; public Admin(String ...
- java 简单类
package 面向对象编程_封装性; //1.类名称必须存在有意义,例如Book.Emp //2.类之中所有的属性必须用private封装,封装后的属性必须提供有setter和getter方法 // ...
- 第四周总结和实验二Java简单类与对象
实验目的 掌握类的定义,熟悉属性.构造函数.方法的使用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实列的方法和属性: 理解static修饰对类. ...
- 第四周课程总结与第二次实验报告(Java简单类与对象)
1.写一个名为Rectangle的类表示矩形.其属性包括宽width.高height和颜色color,width和height都是double型的,而color则是String类型的.要求该类具有: ...
- Java面向对象---类与对象的关系
类是对某一类事物的描述,是抽象的.概念上的意义.对象是实际存在的该类事物的每一个个体,也被称为实例. 创建对象:包括声明对象和实例化对象 Person person;//声明 person = new ...
- Java简单类——一对多映射(省、市)
class Province { private int pid ; private String name ; private City cities [] ; public Province (i ...
- 【47】java的类之间的关系:泛化、依赖、关联、实现、聚合、组合
java的类之间的关系:泛化.依赖.关联.实现.聚合.组合 泛化: • 泛化关系(Generalization)也就是继承关系,也称为"is-a-kind-of"关系,泛化关系用于 ...
随机推荐
- linux TCP Wrappers
1. TCP Wrapper简介 (出处:http://www.softpanorama.org/Net/Network_security/TCP_wrappers/) (维基百科)TCP Wrapp ...
- Cgroups控制cpu,内存,io示例
Cgroups是control groups的缩写,最初由Google工程师提出,后来编进linux内核. Cgroups是实现IaaS虚拟化(kvm.lxc等),PaaS容器沙箱(Docker等)的 ...
- CSS-布局【1】-图片在div中垂直居中
方法一:通过增加100%高度行内块居中对齐 <!DOCTYPE html> <html> <head> <meta name="viewport&q ...
- CF# 334 Lieges of Legendre
C. Lieges of Legendre time limit per test 2 seconds memory limit per test 256 megabytes input standa ...
- 2014-2015 ACM-ICPC, NEERC, Moscow Subregional Contest F. Friends
F. Friends time limit per test 2 seconds memory limit per test 256 megabytes input standard input ou ...
- linux建立ssh信任关系
一.建立SSH信任将A主机做为客户端(发起SSH请求 ip:192.168.200.170)将B主机作为服务器端(接收ssh请求 ip:192.168.200.149)以上以主动发起SSH登录请求 ...
- C语言break和continue
break和continue C语言中有有两种结束循环的关键字:break和continue #include <stdio.h> #include <stdlib.h> in ...
- 每日英語2013.09.09(Email常用單字)
carbon copy 副本抄送 forward 轉交;轉寄(+to) Please check the file carried by this email for the details.細節請看 ...
- GO语言练习:为类型添加方法
1.代码 2.运行 1.代码 package main import "fmt" type Integer int //给in类型添加 Less 方法,int原来的方法被Integ ...
- XML参考 :XmlReader 详解、实例
XML参考 :XmlReader 详解.实例-- 详解 转:http://www.cnblogs.com/Dlonghow/archive/2008/07/28/1252191.html XML参考 ...