3.定义一个人类,包括属性:姓名、性别、年龄、国籍;包括方法:吃饭、睡觉,工作。(1)根据人类,派生一个学生类,增加属性:学校、学号;重写工作方法(学生的工作是学习)。(2)根据人类,派生一个工人类,增加属性:单位、工龄;重写工作方法(工人的工作是……自己想吧)。(3)根据学生类,派生一个学生干部类,增加属性:职务;增加方法:开会。(4)编写主函数分别对上述3类具体人物进行测试。
package advance; abstract class Person{ String name; String sex; int age; String nationality; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getNationality() { return nationality; } public void setNationality(String nationality) { this.nationality = nationality; } public Person() { } public Person(String name, String sex, int age, String nationality) { this.name = name; this.sex = sex; this.age = age; this.nationality = nationality; } public void eat(){ System.out.println("吃饭"); } public void sleep(){ System.out.println("睡觉"); } public abstract void workMeans(); } class Student extends Person{ String school; String id; public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Student(String school, String id,String name, String sex, int age, String nationality) { super(name,sex,age,nationality); this.school = school; this.id = id; } @Override public void workMeans(){ System.out.println("好好学习"); } @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", nationality='" + nationality + '\'' + ", school='" + school + '\'' + ", id='" + id + '\'' + '}'; } } class Worker extends Person{ String workPlace; int workAge; public String getWorkPlace() { return workPlace; } public void setWorkPlace(String workPlace) { this.workPlace = workPlace; } public int getWorkAge() { return workAge; } public void setWorkAge(int workAge) { this.workAge = workAge; } @Override public String toString() { return "Worker{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", nationality='" + nationality + '\'' + ", workPlace='" + workPlace + '\'' + ", workAge=" + workAge + '}'; } public Worker(String workPlace, int workAge, String name, String sex, int age, String nationality) { super(name,sex,age,nationality); this.workPlace = workPlace; this.workAge = workAge; } @Override public void workMeans(){ System.out.println("赚钱"); } } class StudentLeader extends Student{ String post; public String getPost() { return post; } public void setPost(String post) { this.post = post; } @Override public String toString() { return "StudentLeader{" + "name='" + name + '\'' + ", sex='" + sex + '\'' + ", age=" + age + ", nationality='" + nationality + '\'' + ", school='" + school + '\'' + ", id='" + id + '\'' + ", post='" + post + '\'' + '}'; } public StudentLeader(String post, String school, String id, String name, String sex, int age, String nationality) { super(school, id, name, sex, age, nationality); this.post=post; } @Override public void workMeans(){ System.out.println("开会"); } } public class Homework3 { public static void main(String[] args) { Student student=new Student("清华","123123","张三","中国",19,"中国"); System.out.println(student.toString()); student.workMeans();student.eat();student.sleep(); Worker worker=new Worker("清华保安公司",3,"李三","男",39,"美国"); System.out.println(worker.toString()); worker.workMeans();worker.eat();worker.sleep(); StudentLeader studentLeader=new StudentLeader("学生会主席","清华","9527","中国","男",20,"中国"); System.out.println(studentLeader.toString()); studentLeader.workMeans();studentLeader.eat();studentLeader.sleep(); } }