应用继承和多态的思想, ①.编写宠物Pet类,成员方法是动物叫声。 写三个具体的类(小猪Pig、羊),它们都是动物类的子类, 并重写父类的成员方法。 ②.编写测试类,产生具体动物,调用叫声这个方法。 ③.instanceof进行类型判断和使用向下转型,进行升级,防止出现异常; 如果是猪,则哼哼叫; 如果是猪,则咩咩叫;
时间: 2024-04-15 09:28:43 浏览: 98
好的,我明白了。以下是代码示例,实现了上述要求:
```java
// 宠物类
class Pet {
public void makeSound() {
System.out.println("动物发出叫声");
}
}
// 小猪类
class Pig extends Pet {
@Override
public void makeSound() {
System.out.println("小猪发出哼哼叫");
}
}
// 羊类
class Sheep extends Pet {
@Override
public void makeSound() {
System.out.println("羊发出咩咩叫");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Pet pig = new Pig();
Pet sheep = new Sheep();
pig.makeSound();
sheep.makeSound();
// 使用 instanceof 进行类型判断和向下转型
if (pig instanceof Pig) {
Pig pig2 = (Pig) pig; // 向下转型
pig2.makeSound(); // 输出结果为"小猪发出哼哼叫"
}
if (sheep instanceof Sheep) {
Sheep sheep2 = (Sheep) sheep; // 向下转型
sheep2.makeSound(); // 输出结果为"羊发出咩咩叫"
}
}
}
```
运行以上代码,输出结果为:
```
小猪发出哼哼叫
羊发出咩咩叫
小猪发出哼哼叫
羊发出咩咩叫
```
这样就实现了继承和多态的思想。小猪和羊作为宠物的子类,重写了父类的成员方法,实现了它们自己的叫声。同时,使用 `instanceof` 进行类型判断和向下转型,确保程序的正常运行,避免出现异常。
阅读全文