用java 定义抽象类Person、派生类Student和类Teacher
时间: 2024-02-16 13:03:06 浏览: 117
设计一个Person类,有Person类派生一个Student类和一个Teacher类
好的,以下是用 Java 定义抽象类 `Person`、派生类 `Student` 和类 `Teacher` 的代码实现:
```java
// 定义抽象类 Person
public abstract class Person {
protected String name; // 姓名
protected int age; // 年龄
// 构造方法
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 定义抽象方法 sayHello
public abstract void sayHello();
}
// 定义派生类 Student
public class Student extends Person {
private String school; // 学校
// 构造方法
public Student(String name, int age, String school) {
super(name, age);
this.school = school;
}
// 实现抽象方法 sayHello
@Override
public void sayHello() {
System.out.println("我是学生,我的名字是" + this.name + ",我今年" + this.age + "岁,我在" + this.school + "上学。");
}
}
// 定义类 Teacher
public class Teacher extends Person {
private String subject; // 教授科目
// 构造方法
public Teacher(String name, int age, String subject) {
super(name, age);
this.subject = subject;
}
// 实现抽象方法 sayHello
@Override
public void sayHello() {
System.out.println("我是老师,我的名字是" + this.name + ",我今年" + this.age + "岁,我教授的科目是" + this.subject + "。");
}
}
```
以上代码中,`Person` 类是一个抽象类,其中定义了两个属性 `name` 和 `age`,以及一个抽象方法 `sayHello`。`Student` 类和 `Teacher` 类都是 `Person` 类的派生类,它们分别添加了自己的属性 `school` 和 `subject`,并实现了 `Person` 类中的抽象方法 `sayHello`。这样,我们就可以通过 `Student` 类和 `Teacher` 类来创建不同的对象,同时也可以调用 `Person` 类中的方法。
阅读全文