测试,接口向上转型
时间: 2024-01-02 19:05:23 浏览: 27
好的,我们可以先定义一个接口Animal,作为Zoom类show方法中的参数类型,然后再定义一些实现了Animal接口的具体类,用于测试接口向上转型。
下面是代码实现:
```java
// 定义Animal接口
public interface Animal {
String getType();
}
// 定义实现了Animal接口的具体类
public class Dog implements Animal {
@Override
public String getType() {
return "狗";
}
}
public class Cat implements Animal {
@Override
public String getType() {
return "猫";
}
}
// 测试接口向上转型
public class Test {
public static void main(String[] args) {
Zoom zoom = new Zoom();
// 向上转型,将Dog对象传入show方法
Animal animal1 = new Dog();
zoom.show(animal1);
// 向上转型,将Cat对象传入show方法
Animal animal2 = new Cat();
zoom.show(animal2);
}
}
```
在这个示例中,我们定义了Animal接口,并实现了两个具体类Dog和Cat,它们都实现了Animal接口。接着,我们在Test类中创建了一个Zoom对象zoom,并向show方法中传入了两个Animal对象,分别是Dog和Cat。注意,这里使用了接口向上转型,将Dog和Cat对象转换成了Animal类型。因为Animal是Dog和Cat的父接口,所以这种转型是安全的,不会造成数据丢失或类型转换异常。
最后运行Test类,输出结果如下:
```
这是一只狗
这是一只猫
```
可以看到,show方法成功地接收了Animal类型的参数,并且能够正确地处理不同类型的动物对象。