package Day28ketangzuoye;

 import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map; public class EmployeeTest { public static void main(String[] args) {
Emp se1=new SE(0001,"蔡正",true,6000,80);
Emp se2=new SE(0002,"丁陆",true,7000,89); Emp pm1=new PM(1001,"王拥江",true,9000,"一年",3000);
Emp pm2=new PM(1002,"贝杰明",true,13000,"七年",5000); System.out.println("ArrayList");
ArrayList<Emp> list=new ArrayList<Emp>();
list.add(se1);
list.add(se2);
list.add(pm1);
list.add(pm2);
SE e;
PM m;
for(Emp p:list){
if(p instanceof SE){
e=(SE)p;
e.show();
}else if(p instanceof PM){
m=(PM)p;
m.show();
}else{
System.out.println("出错!");
}
} System.out.println("\n\n HashMap");
Map<String,Emp> map=new HashMap<String,Emp>();
map.put("蔡正",se1);
map.put("丁陆",se2);
map.put("王拥江",pm1);
map.put("贝杰明",pm2);
String[] str={"蔡正","丁陆","王拥江","贝杰明"};
Emp p;
for(int i=0;i<map.size();i++){
p=map.get(str[i]);
if(p instanceof SE){
e=(SE)p;
e.show();
}else if(p instanceof PM){
m=(PM)p;
m.show();
}else{
System.out.println("出错!");
}
} }
} class Emp {
public int id;
public String name;
public boolean gender;
public double salary; public Emp() {
super();
} public Emp(int id, String name, boolean gender, double salary) {
super();
this.id = id;
this.name = name;
this.gender = gender;
this.salary = salary;
} public void show(){};
} class SE extends Emp {
int hot; public SE(int id, String name, boolean gender, double salary,int hot) {
super(id,name,gender,salary);
this.hot = hot;
} @Override
public void show() {
System.out.println("SE [id=" + id + ", name=" + name + ", gender="
+ gender + ", salary=" + salary + ", hot=" + hot + "]");
}
} class PM extends Emp{
String exp;
double bonus; public PM(int id, String name, boolean gender, double salary,String exp, double bonus) {
super(id,name,gender,salary);
this.exp = exp;
this.bonus = bonus;
} @Override
public void show() {
System.out.println("PM [id=" + id + ", name=" + name + ", gender="
+ gender + ", salary=" + salary + ", exp=" + exp + ", bonus=" + bonus + "]");
}
}
 ArrayList
SE [id=1, name=蔡正, gender=true, salary=6000.0, hot=80]
SE [id=2, name=丁陆, gender=true, salary=7000.0, hot=89]
PM [id=1001, name=王拥江, gender=true, salary=9000.0, exp=一年, bonus=3000.0]
PM [id=1002, name=贝杰明, gender=true, salary=13000.0, exp=七年, bonus=5000.0] HashMap
SE [id=1, name=蔡正, gender=true, salary=6000.0, hot=80]
SE [id=2, name=丁陆, gender=true, salary=7000.0, hot=89]
PM [id=1001, name=王拥江, gender=true, salary=9000.0, exp=一年, bonus=3000.0]
PM [id=1002, name=贝杰明, gender=true, salary=13000.0, exp=七年, bonus=5000.0]

ArrayList、HashMap 与 员工类(程序员、经理的结合使用) 相当于集合与继承的总结的更多相关文章

  1. Java 常用类-程序员头大的日期时间API

    第二节.日期时间API 一.JDK8之前日期时间API 1.1 java.lang.System类 System类提供的public static long currentTimeMillis()用来 ...

  2. 月薪60k,仍无人问津,腾讯阿里到底有多缺这类程序员?

    不知道大家发现没,近几年,国内对音视频人才需求越来越大了,在某招聘网站上居然薪酬高达60k. 从未来的大趋势来看,随着5G时代的到来,音视频慢慢变成人们日常生活中的必须品.除了在线教育.音视频会议.即 ...

  3. IBM总架构师寇文东谈程序员的职业规划

    有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...

  4. Java——(五)Collection之List集合、ArrayList和Vector实现类

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.List集合 List集合代表一个元素有序.客重复的集合,集合中每个元素都有其对应的顺序索引 ...

  5. 你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧

    序 所有的文章都会有序言,我的当然也不例外. 因为职业和工作的关系,很少有时间陪伴家人,感谢妻子10年以来的容忍和支持,感谢女儿给我生活带来的乐趣. 希望孩子长大了之后能热爱编程(可以不用以它谋生). ...

  6. 程序员为什么要写if else,为什么要和别人不一样

    程序员为什么要写if else,为什么要和别人不一样 前言 无聊,睡不着!本文只是随便写写而已!感叹一下程序员的生活! 刚看到一个八级程序员的分级,所以就写了这个随笔,分级如下:        第八级 ...

  7. Java面向对象之继承,方法重写,super关键字,员工类系列继承题

    在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...

  8. IBM 总架构师:话说程序员的职业生涯

    作者:IBM 软件集团大中华区总架构师 寇卫东 有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问:如果还没 ...

  9. 程序员的Scala

    C#程序员的Scala之路第九章(Scala的层级) 摘要: 1.Scala的类层级Scala里类的顶端是Any所有的类都继承Any类,Any包括以下几个通用方法:final def ==(that: ...

随机推荐

  1. UVALive3211- Now or later(二分+2-SAT)

    题目链接 题意:有n架飞机.每架飞机都能够选择早着陆和晚着陆两种方式之中的一个,且必须选择一种. 任务就是安排全部飞机着陆时.相邻两个着陆时间间隔的最小值尽量大. 思路:用二分处理最小值尽量大.该题目 ...

  2. OSX: 第三方部署Profile的方法和比較

    眼下至少有三个第三方部署Profile的方法. 一个Profile Handler, 是利用Launchd对制定文件夹改变而激活的机制,把须要的profiles文件斗存放在制定目标机器的文件夹内,系统 ...

  3. unique函数(STL)

    unique()函数是一个去重函数,STL中unique的函数 unique的功能是去除相邻的重复元素(只保留一个),还有一个容易忽视的特性是它并不真正把重复的元素删除.他是c++中的函数,所以头文件 ...

  4. SGU - 311 Ice-cream Tycoon(线段树)

    Description You've recently started an ice-cream business in a local school. During a day you have m ...

  5. CMMI 2,3,4,5级涉及的过程域(PA)介绍

      CMMI中的PA即Process Area的缩写,中文称为过程域.简单的说就是做好一个事情需要的某一个方面,对于软件开发来说,就是做好软件开发需要的某一个方面. CMMI2.3级共有18个过程域( ...

  6. Ctags基本配置

    一般linux系统都会自带ctags,也可输入"ctags"看有木有该命令.有的话速度配置吧,没有话yum install ctags安装吧. 打开vim 配置文件,要是没该文件就 ...

  7. hdu2099 整除的位数(暴力)

    Problem Description http://acm.hdu.edu.cn/showproblem.php?pid=2099 一个整数,仅仅知道前几位.不知道末二位,被还有一个整数除尽了,那么 ...

  8. 浅谈UML的概念和模型之UML视图

    相信大家都知道UML的全称,统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件系统进行可视化建模的一种语言.UML为面向对象开发系统的产品进行说明.可视化. ...

  9. NS3网络仿真(4): DataRate属性

    快乐虾 http://blog.csdn.net/lights_joy/ 欢迎转载,但请保留作者信息 在first.py中创建了一个点到点的信道,且配置了两个属性: pointToPoint = ns ...

  10. js闭包的本质

    js之所以会有闭包,是因为js不同于其他规范的语言,js允许一个函数中再嵌套子函数,正是因为这种允许函数嵌套,导致js出现了所谓闭包. function a(){ function b(){ }; b ...