Athlete类对父类的walk进行重写,逻辑要求:如果是男性,输出:以每小时行走20公里的速度行走;如果是女性,输出:以每小时行走15公里的速度行走。 创建测试类(TestOne)进行测试
时间: 2024-10-10 22:04:08 浏览: 19
在面向对象编程中,你可以通过创建一个子类来实现对父类方法的重写,以适应特定的需求。在这个例子中,我们可以有一个Athlete类作为父类,它包含一个walk方法。然后我们为这个walk方法在Athlete的一个子类(比如MaleAthlete和FemaleAthlete)中提供具体的实现。
首先,我们需要定义Athlete类:
```java
public abstract class Athlete {
public abstract void walk();
}
```
接着,我们为男运动员和女运动员重写walk方法:
```java
class MaleAthlete extends Athlete {
@Override
public void walk() {
System.out.println("以每小时行走20公里的速度行走");
}
}
class FemaleAthlete extends Athlete {
@Override
public void walk() {
System.out.println("以每小时行走15公里的速度行走");
}
}
```
为了测试这些类的行为,我们可以创建一个TestOne类并实例化它们来进行测试:
```java
public class TestOne {
public static void main(String[] args) {
Athlete maleAthlete = new MaleAthlete();
maleAthlete.walk(); // 输出:以每小时行走20公里的速度行走
Athlete femaleAthlete = new FemaleAthlete();
femaleAthlete.walk(); // 输出:以每小时行走15公里的速度行走
}
}
```
这样,当你在TestOne类中调用walk方法时,会根据传入的对象的实际类型(MaleAthlete或FemaleAthlete)执行对应的walk方法,这就是多态性的体现。
阅读全文