利用instanceof关键字判断类所属的类型(Example17) 编写父类Animal,包含shout()方法 编写子类Dog,重写shout()方法,新增eat()方法 定义测试类 (1)完成向上转型并测试对象类型是否属于Animal和Dog (2)完成向下转型并测试对象类型是否属于Animal和Dog (3)实例化Animal对象并测试对象类型是否属于Animal和Dog
时间: 2024-01-14 08:04:54 浏览: 56
好的,以下是代码示例:
```java
// Animal类
public class Animal {
public void shout() {
System.out.println("动物叫");
}
}
// Dog类
public class Dog extends Animal {
@Override
public void shout() {
System.out.println("汪汪汪");
}
public void eat() {
System.out.println("狗吃骨头");
}
}
// 测试类
public class TestAnimal {
public static void main(String[] args) {
// 向上转型
Animal animal = new Dog();
if (animal instanceof Animal) {
System.out.println("animal是Animal类型");
}
if (animal instanceof Dog) {
System.out.println("animal是Dog类型");
}
// 向下转型
if (animal instanceof Dog) {
Dog dog = (Dog) animal;
if (dog instanceof Animal) {
System.out.println("dog是Animal类型");
}
if (dog instanceof Dog) {
System.out.println("dog是Dog类型");
}
dog.eat();
}
// 实例化Animal对象
Animal animal1 = new Animal();
if (animal1 instanceof Animal) {
System.out.println("animal1是Animal类型");
}
if (animal1 instanceof Dog) {
System.out.println("animal1是Dog类型");
}
}
}
```
输出结果为:
```
animal是Animal类型
animal是Dog类型
dog是Animal类型
dog是Dog类型
狗吃骨头
animal1是Animal类型
```
阅读全文