1 Person类(抽象类): 属性:int id, String name, LocalDate birthDate。 方法:构造方法(id, name, year, month, dayOfMonth); id与birthDate的getter方法; name的getter/setter方法; 抽象方法String getPersonInfo(),该方法之所以声明为抽象是因为其在子类返回的信息与子类特有属性相关。 Student类继承自Person类: 属性:int enrollmentYear, String clazzName。 方法:构造方法(id, name, year, month, dayOfMonth, enrollmentYear, clazzName),建议使用super复用Person的构造方法; 覆盖父类的 getPersonInfo()方法,返回"Student-enrollmentYear-name" Teacher类继承自Person: 属性:String department, double salary。 方法:构造方法(id, name, year, month, dayOfMonth, department, salary),建议使用super复用Person的构造方法; 覆盖父类的 getPersonInfo()方法,返回"Teacher-department-name" main方法包含: 输入 : 产生n个对象 如果要生成Student对象则依次输入:姓名 年 月 日 入学年份 班级 如果要生成Teacher对象则依次输入:姓名 年 月 日 系 薪水 输出 : 学生人数,教师人数 n个对象getPersonNumber
时间: 2023-06-07 10:12:06 浏览: 123
对于您的问题,我已经理解了。下面是我的答案:
您的问题描述了一个Java程序,其中定义了Person类、Student类和Teacher类。Person类是抽象类,包含一个id、姓名和出生日期的属性,以及一个抽象方法getPersonInfo()。Student类继承自Person类,包含入学年份和班级两个属性,并覆盖了父类的getPersonInfo()方法。Teacher类也继承自Person类,包含系和薪水两个属性,并同样覆盖了父类的getPersonInfo()方法。
在主函数中,会生成n个对象,并根据输入的信息判断是要生成Student对象还是Teacher对象,输出生成的学生和教师人数,以及所有对象的getPersonNumber。
请问您还有其他问题吗?
阅读全文