阅读量:71
在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的基类,其中包含一个名为makeSound的方法。然后,我们创建了两个子类Dog和Cat,它们分别继承自Animal类,并重写了makeSound方法。在主类Main中,我们使用Animal类型作为引用,并将Dog和Cat类的对象分别赋值给它。当我们调用makeSound方法时,Java运行时系统会根据实际的对象类型(Dog或Cat)来选择合适的方法实现,这就是多态的体现。