在Java中,多态是通过继承实现的。多态允许一个类的引用变量指向另一个子类的对象。这样,我们可以通过父类引用来调用子类的方法,从而实现代码的复用和扩展。
以下是一个简单的示例,说明如何使用继承实现多态:
public class Animal {
public void makeSound() {
System.out.println("The animal makes a sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("The dog barks");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("The cat meows");
}
}
public class Main {
public static void main(String[] args) {
Animal myAnimal = new Dog(); // 使用Dog类对象初始化Animal类型引用变量
myAnimal.makeSound(); // 输出 "The dog barks"
myAnimal = new Cat(); // 使用Cat类对象初始化Animal类型引用变量
myAnimal.makeSound(); // 输出 "The cat meows"
}
}
在这个例子中,我们通过父类Animal的引用变量myAnimal分别指向了Dog和Cat的对象。当我们调用myAnimal.makeSound()方法时,Java会根据实际的对象类型(Dog或Cat)来调用相应的方法实现。这就是多态的体现。