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. C#如何引用定义好的dll文件

    1 添加引用,找到dll文件   2 引用类的名称空间,生成类的实例,调用类的方法,测试OK.

  2. OpenLayers3基础教程——OL3基本概念

    从本节開始,我会陆陆续续的更新有关OL3的相关文章--OpenLayers3基础教程,欢迎大家关注我的博客,同一时候也希望我的博客可以给大家带来一点帮助. 概述: OpenLayers 3对OpenL ...

  3. Linux下怎么添加和查看PATH环境变量

    linux下查看和添加PATH环境变量来自:http://apps.hi.baidu.com/share/detail/32942984 $PATH:决定了shell将到哪些目录中寻找命令或程序,PA ...

  4. 算法导论学习之线性时间求第k小元素+堆思想求前k大元素

    对于曾经,假设要我求第k小元素.或者是求前k大元素,我可能会将元素先排序,然后就直接求出来了,可是如今有了更好的思路. 一.线性时间内求第k小元素 这个算法又是一个基于分治思想的算法. 其详细的分治思 ...

  5. Qt 用户登录界面

     使用QT创建自己的登录窗口: 主要步骤:    1.窗口界面的绘制     2.沟通数据库进行密码验证 void MainWindow::on_pushButton_clicked() { // 连 ...

  6. 有关java构造器的笔记

    当程序中首次出现使用一个类A时, 无论是使用A的静态成员还是创建一个对象(声明一个A类对象不算), 那么类加载器就会首先对A进行加载, 在对A进行加载的过程中, 如果A有一个extends的父类B, ...

  7. win7-64bit安装comtypes的问题

    Update 28/12/2014: Please download the latest comtypes 1.1.1 from https://pypi.python.org/pypi/comty ...

  8. 小贝_mysql数据库备份与恢复

    mysql数据库备份与恢复 简要:        一.数据库备份        二.数据库恢复 一.数据库备份 1.备份简单说明 : 系统执行中,增量备份与总体备份 例: 每周日总体备份一次,周一到周 ...

  9. 网易新闻client(高仿)

    近期整理了下自己曾经做过的项目,决定分享出来.本篇所展示的是仿网易新闻client,服务端是在新浪SAE部署着的.所以大家下载后,可直接在手机上看到效果.接下来看效果图: watermark/2/te ...

  10. C项目实践--图书管理系统(4)

    前面已经把图书管理系统的所有功能模块都已实现完毕了,下面通过运行来分析该系统的操作流程并检验是否符合逻辑设计要求. 3.系统操作过程 F5 运行 1.登录系统 系统运行之后,提示输入用户名和密码,系统 ...