From 8eafd9c74d0f8fe53c7414a7a3b32fcec5ddbc6d Mon Sep 17 00:00:00 2001 From: Wangyanshu <2680603193@qq.com> Date: Thu, 7 May 2026 15:09:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'=E6=8C=91=E6=88=98?= =?UTF-8?q?=E9=A2=98'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 挑战题 | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 117 insertions(+), 7 deletions(-) diff --git a/挑战题 b/挑战题 index 601dfb5..614121d 100644 --- a/挑战题 +++ b/挑战题 @@ -1,4 +1,8 @@ -public class Person { +import java.util.ArrayList; +import java.util.List; + +// 父类 Person +class Person { private String name; private int age; @@ -8,14 +12,120 @@ public class Person { this.age = age; } - // 统一的基础信息打印方法 public void showInfo() { System.out.println("姓名:" + name + ",年龄:" + age); } - // getter/setter - public String getName() { return name; } - public void setName(String name) { this.name = name; } - public int getAge() { return age; } - public void setAge(int age) { this.age = age; } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public int getAge() { + return age; + } + public void setAge(int age) { + this.age = age; + } +} + +// 学生子类 +class Student extends Person { + private String stuId; + private String major; + + public Student() {} + public Student(String name, int age, String stuId, String major) { + super(name, age); + this.stuId = stuId; + this.major = major; + } + + @Override + public void showInfo() { + super.showInfo(); + System.out.println("身份:学生,学号:" + stuId + ",专业:" + major); + } + + public String getStuId() { + return stuId; + } + public void setStuId(String stuId) { + this.stuId = stuId; + } + public String getMajor() { + return major; + } + public void setMajor(String major) { + this.major = major; + } +} + +// 教师子类 +class Teacher extends Person { + private String teaId; + private String dept; + + public Teacher() {} + public Teacher(String name, int age, String teaId, String dept) { + super(name, age); + this.teaId = teaId; + this.dept = dept; + } + + @Override + public void showInfo() { + super.showInfo(); + System.out.println("身份:教师,工号:" + teaId + ",院系:" + dept); + } + + public String getTeaId() { + return teaId; + } + public void setTeaId(String teaId) { + this.teaId = teaId; + } + public String getDept() { + return dept; + } + public void setDept(String dept) { + this.dept = dept; + } +} + +// 管理类 +class PersonManager { + private List list = new ArrayList<>(); + + // 统一添加方法,合并addStudent、addTeacher + public void addPerson(Person p) { + list.add(p); + } + + // 遍历展示所有人信息 + public void showAll() { + for(Person p : list){ + p.showInfo(); + System.out.println("--------------------"); + } + } +} + +// 主测试类 +public class PersonTest { + public static void main(String[] args) { + PersonManager manager = new PersonManager(); + + // 创建学生、教师对象 + Student s1 = new Student("张三", 19, "2025001", "大数据管理"); + Teacher t1 = new Teacher("王老师", 38, "T10086", "计算机学院"); + + // 统一添加 + manager.addPerson(s1); + manager.addPerson(t1); + + // 展示所有信息 + manager.showAll(); + } } \ No newline at end of file