设计一个抽象类Animal,包含抽象方法makeSound()。然后创建两个具体类Dog和Cat继承自Animal,并实现makeSound()方法。最后,在主类中测试这些类的行为。
时间: 2024-10-10 16:06:44 浏览: 76
当设计一个抽象类`Animal`时,你通常会定义那些所有动物都共有的行为或属性,但没有具体实现的方法。在这个例子中,你已经指定了一个抽象方法`makeSound()`,这表示这个方法没有具体的实现,任何继承`Animal`的子类都需要提供自己的版本。
首先,让我们定义`Animal`抽象类:
```java
public abstract class Animal {
// 抽象方法,每个子类都需要实现
public abstract void makeSound();
}
```
接下来,我们创建两个具体类`Dog`和`Cat`,它们分别继承`Animal`并实现了`makeSound()`方法:
```java
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog says Woof!");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat says Meow!");
}
}
```
最后,在主类(通常是`Main`类)中,你可以创建这两个类的实例,并调用它们的`makeSound()`方法来测试它们的行为:
```java
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
Cat cat = new Cat();
// 测试Dog类的makeSound()
dog.makeSound();
// 测试Cat类的makeSound()
cat.makeSound();
}
}
```
当你运行这段代码,你会看到`Dog`打印"woof!",`Cat`打印"meow!",这是各个子类对抽象方法的具体实现。
阅读全文