定义一个抽象类Person,它包含私有的成员变量name,name通过构造方法来初始化。它还包含用来获取姓名的普通成员方法getName()和用来描述人的抽象方法getDescription()。
从Person类派生出Employee类和Student类,Employee类拥有新的私有成员变量department, Student类拥有新的私有的成员变量school。这两个类都用getDescription方法来进行描述。其中Employee类的描述是输出“在xx部门工作的职工”;Student类的描述是输出“在xx学院上学的学生”。
创建一个主类PersonDemo,主类中有introduce方法,该方法的参数是一个Person类的对象,输出是这个人的姓名和描述。主类中有main方法,该方法有如下内容:
①首先声明一个Person类的变量p,随后实例化一个Employee类的对象Tom,他的姓名为Tom.将Tom上转型为p, 调用getDescription()方法。
②通过实例化一个personDemo类的对象来调用introduce方法,并通过多态实现输出职工(王五,信息部)以及学生(李明,管理学院)的姓名和描述。