在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
)来选择合适的方法实现,这就是多态的体现。