java定义小猫类Cat继承Pet类,除了重写方法外还要添加一个特有的catchMouse()方法,输出内容为“小猫会抓老鼠”。
时间: 2024-05-09 16:20:35 浏览: 112
```
public class Cat extends Pet {
// 添加特有的方法
public void catchMouse() {
System.out.println("小猫会抓老鼠");
}
// 重写父类方法
@Override
public void play() {
System.out.println("小猫喜欢玩毛线球");
}
}
```
相关问题
定义小猫类Cat继承Pet类,除了重写方法外还要添加一个特有的catchMouse()方法,输出内容为“小猫会抓老鼠”。
```
class Cat(Pet):
def __init__(self, name, age, gender):
super().__init__(name, age, gender)
def voice(self):
print(f"{self.name}喵喵叫")
def catchMouse(self):
print("小猫会抓老鼠")
```
宠物Pet是父类,有一eat()方法表示宠物会吃东西,但不同的宠物吃东西的情况不一样,所以将其定义成抽象方法,将由子类进行重写来实现。 定义小狗累Dog继承Pet类,除了重写方法外还要添加一个特有的guard()方法,输出内容为“小狗会看家护院”。 定义小猫类Cat继承Pet类,除了重写方法外还要添加一个特有的catchMouse()方法,输出内容为“小猫会抓老鼠”。 创建测试类,分别实例化小猫和小狗,调用父类的eat()方法和小猫小狗的特有方法。
以下是代码实现:
```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();
}
}
```
输出结果为:
```
小狗吃肉
小狗会看家护院
小猫吃鱼
小猫会抓老鼠
```
阅读全文
相关推荐














