比较员工的年龄大小(继承、异类集合、static学习)

题目:
        现在存在一个staffs[ ]异类集合,里面存放的是不同员工的资料,需要通过该异类集合来比较员工的年龄大小.集合中有
Employee类,属性有姓名、生日,行为有自身构造方法.集合中还有Manager类,它继承了Employee类,特殊属性为部门.
为了让代码难度不要过大,我们设该集合内仅有Employee和Mabager类,且数组长度为2. 现请你对这个异类集合进行赋值并比较两个员工的年龄大小,输出年龄大的员工.

下面是我代码:
以下代码都在同一个包下

date类:

package JavaSE.lu.staff;public class date {//首先定义一个date类型来存储员工的生日public  int day,mon,year;//需要注意的是,变量不可以使用static类型,后面解释.date(int i,int j,int k){day=i;mon=j;year=k;}
}

为什么不可以使用static变量

首先,我们先了解一下static变量的定义.

(一) static静态变量,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变.

(二) 静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束.
所以,如果我们把它设置为静态变量,不同对象对该date类进行初始化赋值时,最后每个对象的date类内容都是相同的.就无法进行比较了.

Employee类

package JavaSE.lu.staff;public class Employee {public  String name;public  date birth;public Employee(String a) {name = a;}Employee() { //无参构造方法,子类继承该构造方法}
}

这里需要注意的一点是需要在父类中写一个无参构造方法,这样子类manager才不会出错.因为在子类构造方法的第一行,默认使用了super() ,这样,子类才能继承父类,并使用自身的构造方法.想要更深入的了解父类与子类构造方法关系,请参考:关于Java子类继承时,为什么父类要有无参构造方法.

manager类继承Employee类:

package JavaSE.lu.staff;public  class manager extends Employee {public manager(String a){name=a;}
}

主函数staffyear类:

package JavaSE.lu.staff;public class staffyear {public static void main(String[] args) {Employee[] staffs = new Employee[2];     //定义了Empooyee类型的数组staffs,长度为2staffs[0] = new Employee("lihua");staffs[1] = new manager("wangfang");//实例化Employee类和 manager类,并对成员变量name初始化staffs[0].birth = new date(2, 11, 1998);staffs[1].birth = new date(3, 11, 1999);//实例化Date类并对成员变量birth赋值System.out.println(staffage(staffs[0], (staffs[1])));}public static String staffage(Employee a, Employee b) {   //staffage方法比较员工的年龄大小if ((a.birth.year ==b.birth.year)&&(a.birth.mon==b.birth.mon)&&(a.birth.day==b.birth.day)) return "年龄相同";if (a.birth.year < b.birth.year) return a.name;if (a.birth.year >b.birth.year) return b.name;if (a.birth.year == b.birth.year) {if (a.birth.mon == b.birth.mon) {if (a.birth.day < b.birth.day) return a.name;else return b.name;} else if (a.birth.mon < b.birth.mon) return a.name;else return b.name;}return " ";}
}

比较员工的年龄大小(继承、异类集合、static)相关推荐

  1. 中国互联网公司员工平均年龄出炉,你怎么看?我躺着看

    大家好,我是辣条. 中国互联网公司员工平均年龄出炉,这个话题在脉脉和知乎一下上了热搜.你怎么看呢? 这个调查很明显剑指三十五岁危机,互联网企业员工平均年龄是二十七到三十三,说明这个行业很年轻,充满了朝 ...

  2. 【剑指 offer】—— 为公司员工的年龄排序

    快速排序虽然总体的平均效率是最好的,但也不是在任何时候都是最优的算法.比如数组本身已经是排好序了,而每一轮排序的时候都是以最后一个数字作为比较的标准,此时快速排序的效率只有 O(n2)O(n^2).因 ...

  3. 中国互联网公司员工平均年龄出炉:平均年龄 27 到 33 岁

    10 月 6 日消息 据证券时报,脉脉数据研究院发布的调查.调查结果显示,大型互联网企业员工平均年龄从 27 岁到 33 岁不等. 从数据来看,阿里巴巴员工平均年龄 31 岁:百度员工平均年龄 30 ...

  4. java中单根_java之 单根继承与集合

    1.单根继承 概念: 单根继承,意味着所有类的继承,都继承自单一的基类的继承模式 优点: (1)所有对象都具有一个共用接口,归根到底都是相同的基本类型. (1)所有对象都具有一个共用接口,归根到底都是 ...

  5. 中国互联网企业员工平均年龄出炉:字节跳动、拼多多最年轻仅 27 岁

    随着「内卷」.「躺平」等词汇出现的频率越来越高,「大龄恐惧症」也越来越多地在互联网圈内被人讨论,日前,脉脉数据研究院的一项调查也指出如今互联网群体呈年轻化趋势,35岁以下的人占据着半壁江山. 脉脉数据 ...

  6. 丁磊的阳谋:保持网易员工平均年龄在29岁以内

     戳蓝字关注「中产之路」 2000年,网易在美国上市,20年过去,如今又要通过港交所二次上市,今天通过了上市聆讯,丁老板发了一封致股东信. 不知道股东读完这封信是啥感觉,反正不少网易员工和程序员朋友是 ...

  7. 对数组中的对象按照年龄大小进行从大到小排序

    对数组中的对象按照年龄大小进行从大到小排序 数组 var ageArr = [{name: '张三',age: 18,hobby: '篮球'},{name: '李四',age: 12,hobby: ' ...

  8. JAVA编写一个年龄大小判断年纪题

    JAVA编写一个年龄大小判断年纪题 public class C{public static void main(String [] args){java.util.Scanner s = new j ...

  9. 中国互联网公司员工平均年龄出炉,平均年龄最低 27 岁,最高 33 岁

    上面这个公号「涩郎」,是我的一个备用号,为了防止万一哪天大号失联,平时一周我也会发三篇左右的我的思考,读书笔记,认知感悟等文章,带领大家一起探索精神与财务自由之路. 大家好,我是校长. 前一段时间,脉 ...

最新文章

  1. activity 启动模式_腾讯大牛:你根本不懂Activity!
  2. linux自学笔记——RAID级别特性以及软RAID的实现
  3. 给数组里面的对象添加一个新的数据
  4. Python键鼠自动化函数
  5. 【原创】Erlang 之 entop 使用问题
  6. D1net阅闻:Google发布了能理解人类语言的云服务
  7. KM算法--带权二分匹配
  8. 【九度OJ】题目1084:整数拆分
  9. 基本排序算法之1——希尔排序shellsort
  10. android和view相关的东西
  11. python自动轨迹绘制七边形_斜抛运动的数学模型
  12. 投资速度对天使投资人很重要——九合创投王啸
  13. [数据可视化] 折线图(Line Chart)
  14. 开机后黑屏看不到桌面_电脑开机黑屏只有鼠标怎么办?电脑开机后不显示桌面的多种解决方法...
  15. 苹果10.13.6,开机的时候经常会显示 禁止符号
  16. 科学计算基础软件包NumPy入门讲座(5):常用函数
  17. PPT模板制作如何添加动画?
  18. 准备好收集 BreederDAO 徽章了吗?
  19. 登录《北京市社会保险网上服务平台》的手机号销号了去哪里更改
  20. python spss_SPSS语法调用Python,让spss插上翅膀

热门文章

  1. WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure
  2. oracle 10g rac 配置物理dataguard系列4,配置 Oracle 10g 单实例物理dataguard和逻辑standby...
  3. 图形学笔记(二十)粒子、刚体、流体的模拟—— 欧拉方法、Errors 和 Instability、中点法、自适应步长、隐式欧拉方法、Runge-Kutta方法、刚体与流体模拟(质点法、网格法、MPM)
  4. 单道批处理操作系统、多道批处理操作系统以及分时操作系统区别
  5. mysql自定义变量比较大小_MySQL 自定义变量@ 常用案例
  6. 大数据思维导图锦集(原创吐血整理,不定期更新)
  7. 大数据分析的思维方式有哪些
  8. shell的几个重要命令,主要参数,循环语句以及变量处理
  9. lisp画弯箭头_在CAD中直接画箭头的命令的一个方法
  10. JavaScript实现图结构