Employee.java
package com.yikuan.cn; /** * 定义员工类,内容:都是所有子类的共性抽取,姓名、工号、工作方法 * @author Administrator * */ public abstract class Employee { /*姓名*/ private String name; /*工号*/ private String ID; /*定义工作方法,由于工作内容不同,所有定义成抽象方法*/ public abstract void work(); public String getName() { return name; } public void setName(String name) { this.name = name; } public String getID() { return ID; } public void setID(String iD) { ID = iD; } }
Develop.java
package com.yikuan.cn; /** * 定义研发员工类,继承员工类 * @author Administrator * */ public abstract class Develop extends Employee{ /*继承抽象类,必须重写抽象方法;如果不重写抽象方法,则将本类变为抽象类*/ /*若定义为抽象类,目前没有什么用途,后期如果有开发人员的特性属性,可以定义*/ // @Override // public void work() { // // } }
Maintainer.java
package com.yikuan.cn; /** * 定义维护员工类,继承员工类 * @author Administrator * */ public abstract class Maintainer extends Employee{ }
JavaEE.java
package com.yikuan.cn; /** * java开发人员是研发部门员工的一种,继承研发部 * @author Administrator * */ public class JavaEEer extends Develop{ /*重写父类的父类的抽象方法*/ @Override public void work() { System.out.println(super.getID()+super.getName()+"是JavaEE的工程师,在开发淘宝!!"); } }
NetWork.java
package com.yikuan.cn; /** * 网络维护工程师,属于维护的员工 * @author Administrator * */ public class NetWork extends Maintainer{ @Override public void work() { System.out.println(super.getID()+super.getName()+"是网络维护工程师,在检测网络!"); } }
Androider.java
package com.yikuan.cn; public class Androider extends Develop{ @Override public void work() { System.out.println(super.getID()+super.getName()+"是安卓工程师,在开发哔哩哔哩-手机APP!"); } }
YJMaintainer.java
package com.yikuan.cn; public class YJMaintainer extends Maintainer { @Override public void work() { System.out.println(super.getID()+super.getName()+"是硬件维护工程师,在检测硬件问题!"); } }
Test1.java
package com.yikuan.cn; /** * 测试员工的案例,创建子类对象 * @author Administrator * */ public class Test1 { public static void main(String[] args) { JavaEEer je = new JavaEEer(); NetWork nw = new NetWork(); Androider ad = new Androider(); YJMaintainer yj = new YJMaintainer(); je.setName("小明"); je.setID("研发部001"); nw.setName("小李"); nw.setID("维护部002"); ad.setName("李四"); ad.setID("研发部002"); yj.setName("Jack"); yj.setID("维护部001"); je.work(); nw.work(); ad.work(); yj.work(); } }