在Java中,实现接口的多态是通过继承接口并使用接口类型的引用来调用实现类的方法。这里有一个简单的例子来说明如何实现多态:
- 首先,定义一个接口:
public interface Animal { void makeSound(); }
- 然后,创建两个实现该接口的类:
public class Dog implements Animal { @Override public void makeSound() { System.out.println("Woof!"); } } public class Cat implements Animal { @Override public void makeSound() { System.out.println("Meow!"); } }
- 接下来,创建一个方法,该方法接受一个
Animal
类型的参数,并调用其makeSound()
方法:
public static void playSound(Animal animal) { animal.makeSound(); }
- 最后,在主方法中,使用接口类型的引用来调用实现类的方法,实现多态:
public static void main(String[] args) { Dog dog = new Dog(); Cat cat = new Cat(); playSound(dog); // 输出 "Woof!" playSound(cat); // 输出 "Meow!" }
在这个例子中,playSound
方法接受一个Animal
类型的参数,而不是具体的Dog
或Cat
类型。当我们传递一个Dog
对象给playSound
方法时,它调用的是Dog
类实现的makeSound()
方法。同样,当我们传递一个Cat
对象时,它调用的是Cat
类实现的makeSound()
方法。这就是多态的体现。