创建一个抽象 Animal 父类和一个Dog子类。Animal类中包含eat抽象方法,Dog类重写父类的eat方法并新增shout方法。 ①将 Dog 对象向上转型为Animal类型实现多态性,并调用
时间: 2024-11-12 09:31:31 浏览: 61
创建一个抽象 `Animal` 父类和一个 `Dog` 子类的过程可以按照以下步骤进行:
首先,我们定义一个抽象 `Animal` 类,它有一个抽象方法 `eat()`,表示所有动物的基本生存需求:
```java
public abstract class Animal {
public abstract void eat();
}
```
接着,我们创建 `Dog` 子类,它是 `Animal` 的子类,重写了 `eat()` 方法,并添加了新的 `shout()` 方法,表示狗有独特的叫声:
```java
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("Dog is eating.");
}
public void shout() {
System.out.println("Dog is barking.");
}
}
```
现在,我们可以创建 `Dog` 对象并将其实例化为 `Animal` 类型,这样就实现了多态性。当调用 `eat()` 方法时,会执行 `Dog` 类的实现,而 `shout()` 方法只有在 `Dog` 类实例上调用才会有效:
```java
public static void main(String[] args) {
Animal myDog = new Dog(); // 将 Dog 向上转型为 Animal
myDog.eat(); // 输出 "Dog is eating."
myDog.shout(); // 输出 "Dog is barking."
// 这里还可以继续添加其他 Animal 类型的操作,因为 myDog 是 Animal 的实例
}
```
阅读全文