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. Office EXCEL 如何设置最大行高

    对于单个单元格行来说,行高必须在0-409之间   但是如果合并了两个单元格,则行高就扩展了一倍,不止409,而是两倍的409.

  2. Python练习题2

    如果真的想学精,学什么都不是好学的,如果真的想把Python学的出神入化,几乎自己想做什么都可以,就要下定恒心,坚持下去. 接下来继续更新Python练习题2,通过更新前一部的练习题让自己也学到了不少 ...

  3. 再谈HBase八大应用场景

    HBase概述 HBase是一个分布式存储.数据库引擎,可以支持千万的QPS.PB级别的存储,这些都已经在生产环境验证,并且在广大的公司已经验证.特别是阿里.小米.京东.滴滴内部都有数千.上万台的HB ...

  4. openxml in sql server

    OPENXML (Transact-SQL) OPENXML provides a rowset view over an XML document. Because OPENXML is a row ...

  5. 一场由过滤器Filter引发的血案

    一场由过滤器Filter引发的血案 事件起因 本来应该是下图的登录界面 变成了这样 What's the fuck????? 抓狂 原因 解决方法: 在过滤器中给资源文件开个绿色通道

  6. Apache POI组件操作Excel,制作报表(三)

    Apache POI组件操作Excel,制作报表(三) 博客分类: 探索实践 ExcelApache算法Office单元测试      上一篇介绍了POI组件操作Excel时如何对单元格和行进行设置, ...

  7. sphinx是支持结果聚类的——WHERE、ORDER BY和GROUP BY

    原生API提供的匹配筛选.排序和分组配置和SQL语法提供的WHERE.ORDER BY和GROUP BY语句的效果是一样的,你可以对匹配结果进行你需要的筛选.排序和分组匹配.例如,如果你要搜索MySQ ...

  8. 如何编写linux下nand flash驱动-2

    [Nand Flash引脚(Pin)的说明] 图3.Nand Flash引脚功能说明 上图是常见的Nand Flash所拥有的引脚(Pin)所对应的功能,简单翻译如下: 1.       I/O0 ~ ...

  9. bzoj4289 PA2012 Tax——点边转化

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4289 好巧妙的转化!感觉自己难以想出来... 参考了博客:https://blog.csdn ...

  10. Pascal之while

    program Project1; {$APPTYPE CONSOLE} uses SysUtils; begin { TODO -oUser -cConsole Main : Insert code ...