设计一个父类 Animal ,包含一个成员变量 name 和一个方法 makeSound() 。创建两个子类 Dog (狗)和 Cat (猫),在子类中使用 super 关键字初始化父类的成员变量,并实现自己的 makeSound() 方法,分别输
时间: 2024-09-20 17:15:29 浏览: 65
设计一个名为`Animal`的父类,我们可以这样实现:
```java
public class Animal {
private String name; // 成员变量 name
// 父类构造函数,用于初始化 name
public Animal(String name) {
this.name = name;
}
// 父类的通用方法
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
```
接着我们创建两个子类 `Dog` 和 `Cat`,每个子类都会继承 `Animal` 并覆盖 `makeSound()` 方法:
```java
public class Dog extends Animal {
public Dog(String name) {
super(name); // 使用 super 初始化父类的 name
}
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
public class Cat extends Animal {
public Cat(String name) {
super(name); // 使用 super 初始化父类的 name
}
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
```
现在,你可以创建 `Dog` 或 `Cat` 的实例,并通过它们的父类引用调用 `makeSound()` 方法,这将体现多态性:
```java
public static void main(String[] args) {
Animal myDog = new Dog("Buddy");
Animal myCat = new Cat("Whiskers");
myDog.makeSound(); // 输出 "Dog barks"
myCat.makeSound(); // 输出 "Cat meows"
}
```
阅读全文