在Java中,多态是通过继承实现的。多态允许一个类的引用变量指向另一个子类的对象。这样,我们可以通过父类引用来调用子类的方法,从而实现代码的复用和扩展。
以下是一个简单的示例,说明如何使用继承实现多态:
- 首先,创建一个基类(父类)Animal:
public class Animal { public void makeSound() { System.out.println("The animal makes a sound"); } }
- 然后,创建一个继承自Animal的子类Dog:
public class Dog extends Animal { @Override public void makeSound() { System.out.println("The dog barks"); } }
- 接下来,创建一个继承自Animal的子类Cat:
public class Cat extends Animal { @Override public void makeSound() { System.out.println("The cat meows"); } }
- 最后,在主类中使用Animal类型的引用变量指向Dog和Cat的对象,并调用makeSound方法:
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)来调用相应的方法实现。这就是多态的体现。