构造三个类人学生 教师学生和教师继承于人写一个接口定义walk方法由学生和教师分别去实现 人有一个study方法 学生和教师重写该方法之后 用人去调用 (父类调用子类)
时间: 2024-10-24 19:14:08 浏览: 45
首先,我们可以创建一个名为`Person`的基类,作为所有人的共同特性,然后定义`Student`和`Teacher`两个派生类。同时,我们需要一个接口`Walkable`来定义`walk`方法。接下来,我们会重写`study`方法,并让`Student`和`Teacher`实现`Walkable`接口。
```java
// 基类 Person
public class Person {
// 定义 study 方法
public void study() {
System.out.println("这个人正在学习");
}
}
// 接口 Walkable
public interface Walkable {
void walk();
}
// 子类 Student 继承自 Person 并实现 Walkable 接口
public class Student extends Person implements Walkable {
@Override
public void walk() {
System.out.println("这个学生正在走路");
}
// 重写 study 方法,可能添加特定学生的学习内容
@Override
public void study() {
super.study();
System.out.println("这个学生正在专注于学业");
}
}
// 子类 Teacher 继承自 Person 也实现 Walkable 接口
public class Teacher extends Person implements Walkable {
@Override
public void walk() {
System.out.println("这位老师正在散步");
}
// 重写 study 方法,可能包含教学准备等内容
@Override
public void study() {
super.study();
System.out.println("这位老师正在备课");
}
}
// 主程序测试
public class Main {
public static void main(String[] args) {
// 创建学生和教师实例
Person student = new Student();
Person teacher = new Teacher();
// 调用 study 方法
student.study(); // 输出: 这个人正在学习 这个学生正在专注于学业
teacher.study(); // 输出: 这个人正在学习 这位老师正在备课
// 调用 walk 方法,体现多态
((Walkable) student).walk(); // 输出: 这个学生正在走路
((Walkable) teacher).walk(); // 输出: 这位老师正在散步
}
}
```
阅读全文