ArrayList、HashMap 与 员工类(程序员、经理的结合使用) 相当于集合与继承的总结
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 与 员工类(程序员、经理的结合使用) 相当于集合与继承的总结的更多相关文章
- Java 常用类-程序员头大的日期时间API
第二节.日期时间API 一.JDK8之前日期时间API 1.1 java.lang.System类 System类提供的public static long currentTimeMillis()用来 ...
- 月薪60k,仍无人问津,腾讯阿里到底有多缺这类程序员?
不知道大家发现没,近几年,国内对音视频人才需求越来越大了,在某招聘网站上居然薪酬高达60k. 从未来的大趋势来看,随着5G时代的到来,音视频慢慢变成人们日常生活中的必须品.除了在线教育.音视频会议.即 ...
- IBM总架构师寇文东谈程序员的职业规划
有些年轻的程序员向我咨询,将来的路该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功,到底选择哪条路,取决于自己的兴趣.可能有程序员会问:如果还没有找到自己的兴趣怎么办?我的建议是多尝试,努力做, ...
- Java——(五)Collection之List集合、ArrayList和Vector实现类
------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.List集合 List集合代表一个元素有序.客重复的集合,集合中每个元素都有其对应的顺序索引 ...
- 你好,我是梁桐铭,.NET程序员,啰嗦下过去几年来的感悟吧
序 所有的文章都会有序言,我的当然也不例外. 因为职业和工作的关系,很少有时间陪伴家人,感谢妻子10年以来的容忍和支持,感谢女儿给我生活带来的乐趣. 希望孩子长大了之后能热爱编程(可以不用以它谋生). ...
- 程序员为什么要写if else,为什么要和别人不一样
程序员为什么要写if else,为什么要和别人不一样 前言 无聊,睡不着!本文只是随便写写而已!感叹一下程序员的生活! 刚看到一个八级程序员的分级,所以就写了这个随笔,分级如下: 第八级 ...
- Java面向对象之继承,方法重写,super关键字,员工类系列继承题
在程序中,如果想声明一个类继承另一个类,需要使用extends关键字. 格式: class 子类 extends 父类 {} 继承的好处 1.继承的出现提高了代码的复用性,提高软件开发效率. 2.继承 ...
- IBM 总架构师:话说程序员的职业生涯
作者:IBM 软件集团大中华区总架构师 寇卫东 有一些年轻的程序员向我咨询,将来的路应该怎么走?俗话说,条条大路通罗马.不同的路都能走向成功.到底选哪条路,取决于自己的兴趣.可能有程序员会问:如果还没 ...
- 程序员的Scala
C#程序员的Scala之路第九章(Scala的层级) 摘要: 1.Scala的类层级Scala里类的顶端是Any所有的类都继承Any类,Any包括以下几个通用方法:final def ==(that: ...
随机推荐
- vue 自定义 移动端筛选条件
1.创建组件 components/FilterBar/FilterBar.vue <template> <div class="filterbar" :styl ...
- Echarts 的样例
jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8 ...
- easyui使用心得
一.搭建easyui运行环境 1.下载easyui压缩文件 2.将降压后的文件添加至webapp目录下 3.引用5个必须的js和css文件 <!--引入easyui样式文件--> < ...
- XxPay支付系统-boot版本 使用
https://segmentfault.com/a/1190000016987391?utm_source=tag-newest 有三个版本: spring boot 版本: spring clou ...
- 快看Sample代码,速学Swift语言(2)-基础介绍 快看Sample代码,速学Swift语言(1)-语法速览
快看Sample代码,速学Swift语言(2)-基础介绍 Swift语言是一个新的编程语言,用于iOS, macOS, watchOS, 和 tvOS的开发,不过Swift很多部分内容,我们可以从C或 ...
- GCC编译动态和静态链接库例子
我们通常把一些公用函数制作成函数库,供其它程序使用.函数库分为静态库和动态库两种.静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库.动态库在程序编译时并不会被连接到目标代码中,而是 ...
- C# MVC 枚举转 SelectListItem
<span style="font-size: 18px; font-family: Arial, Helvetica, sans-serif; background-color: r ...
- 2016/2/25 html+css学习资源
html+css学习资源 1.Position is Everything,一个描述和展示在各种浏览器中发现的bug,并提供css解决方法的网站,顶! 2.一个国外的网页设计论坛 3.http://c ...
- iOS开发——高级篇——多线程GCD死锁
面试题 请问以下代码打印结果: - (void)interview01 { // 以下代码是在主线程执行的 NSLog(@"执行任务1"); dispatch_queue_t qu ...
- java Http post请求发送json字符串
最近差点被业务逻辑搞懵逼,果然要先花时间思考,确定好流程再执行.目前最好用的jar包还是org.apache.http. public class HttpClientHelper { private ...