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. CentOS 6.x ELK(Elasticsearch+Logstash+Kibana)

    CentOS 6.x ELK(Elasticsearch+Logstash+Kibana) 前言 Elasticsearch + Logstash + Kibana(ELK)是一套开源的日志管理方案, ...

  2. Android双列滑动表格(双表头不动)

    ※效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGluZ2xvbmd4aW4yNA==/font/5a6L5L2T/fontsize/400/fil ...

  3. 容器使用笔记(List篇)

    上一篇博客介绍了Dictionary,这篇博客介绍List的相关内容. C#中要存储一组数据.我们会想到数组Array,ArrayList,List这三个对象,当中,数组是最早出现的,我们就从数组開始 ...

  4. Office EXCEL 复制粘贴 变成 #value,#REF!,#DIV怎么办

    这些都是由于相对引用造成的,如下所示,我鼠标点进去之后变成了I10/L10,当数字和文字或空单元格进行加减乘除的运算就会出现这种问题   使用选择性粘贴,只粘贴数值即可.

  5. CF 234 C Weather(粗暴方法)

    C. Color Stripe time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  6. PHP根据两点间的经纬度计算距离

    /** * 说明: 根据两点间的经纬度计算距离 * @param float $lat 纬度值 * @param float $lng 经度值 */ function getDistance($lat ...

  7. MySQL 温故而知新--Innodb存储引擎中的锁

    近期碰到非常多锁问题.所以攻克了后,细致再去阅读了关于锁的书籍,整理例如以下:1,锁的种类 Innodb存储引擎实现了例如以下2种标准的行级锁: ? 共享锁(S lock),同意事务读取一行数据. ? ...

  8. 使用Java对100以内偶数求和

    /** * 根据for循环的描述: for(变量初始化:循环条件:修改循环变量的值),求出100以内的所有偶数,for(int i = 0; i<=100; i+=2),把这些偶数累加到一个空的 ...

  9. rhel6 中安装使用finger命令

    rhel6中默认没有finger 命令, 到rpm 包网上没有找到合适的, 然后在终端中输入rpm -qa|grep finger 查到了其相关的一个rpm包, 然 yum install finge ...

  10. id 查询

    Ids Query | Elasticsearch Reference [6.2] | Elastic http://www.elastic.co/guide/en/elasticsearch/ref ...