接口能作为类型,实现多态(向上转型)吗?举例说明。
时间: 2024-03-22 17:40:22 浏览: 65
接口的多态实现
是的,接口可以作为类型,实现多态(向上转型)。接口是一种抽象类型,它定义了一组方法的签名但没有实现,具体的实现由实现接口的类来完成。因此,一个实现接口的类可以被看作是这个接口的类型,也可以作为这个接口的引用类型进行使用。
举个例子,假设我们有一个接口 Animal 和两个实现类 Cat 和 Dog,它们都实现了 Animal 接口。那么我们可以这样定义一个 Animal 类型的变量:
```
Animal animal;
```
我们可以将这个变量指向 Cat 或者 Dog 对象:
```
animal = new Cat();
```
或者
```
animal = new Dog();
```
这样在程序中就可以通过 animal 变量来访问 Animal 接口中定义的方法,而具体的实现则由 Cat 或 Dog 类来完成。这就是接口作为类型实现多态(向上转型)的示例。
阅读全文