java中接口能作为类型实现多态吗,请举例
时间: 2024-03-19 19:45:06 浏览: 61
是的,Java中的接口可以作为类型实现多态。下面是一个例子:
```java
public interface Animal {
void makeSound();
}
public class Dog implements Animal {
@Override
public void makeSound() {
System.out.println("汪汪汪!");
}
}
public class Cat implements Animal {
@Override
public void makeSound() {
System.out.println("喵喵喵!");
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // 输出:汪汪汪!
animal2.makeSound(); // 输出:喵喵喵!
}
}
```
在上面的例子中,Animal是一个接口,它的实现类有Dog和Cat。在Main类中,我们创建了两个Animal类型的对象animal1和animal2,并分别赋值为Dog和Cat的实例。由于Dog和Cat都实现了Animal接口中的makeSound()方法,因此我们可以通过Animal类型的引用调用makeSound()方法,实现了多态。
阅读全文