宠物Pet是父类,有一eat()方法表示宠物会吃东西,但不同的宠物吃东西的情况不一样,所以将其定义成抽象方法,将由子类进行重写来实现。 定义小狗累Dog继承Pet类,除了重写方法外还要添加一个特有的guard()方法,输出内容为“小狗会看家护院”。 定义小猫类Cat继承Pet类,除了重写方法外还要添加一个特有的catchMouse()方法,输出内容为“小猫会抓老鼠”。 创建测试类,分别实例化小猫和小狗,调用父类的eat()方法和小猫小狗的特有方法。
时间: 2023-12-10 21:38:42 浏览: 83
以下是代码实现:
```java
abstract class Pet {
public abstract void eat();
}
class Dog extends Pet {
@Override
public void eat() {
System.out.println("小狗吃肉");
}
public void guard() {
System.out.println("小狗会看家护院");
}
}
class Cat extends Pet {
@Override
public void eat() {
System.out.println("小猫吃鱼");
}
public void catchMouse() {
System.out.println("小猫会抓老鼠");
}
}
public class Test {
public static void main(String[] args) {
Pet dog = new Dog();
dog.eat();
((Dog) dog).guard();
Pet cat = new Cat();
cat.eat();
((Cat) cat).catchMouse();
}
}
```
输出结果为:
```
小狗吃肉
小狗会看家护院
小猫吃鱼
小猫会抓老鼠
```