Java 面向对象 - 多态
时间: 2023-10-26 15:06:30 浏览: 158
多态是面向对象编程中的一个重要概念,它允许我们使用父类的引用来指向子类的对象,并且在运行时根据实际对象的类型来确定调用哪个方法。
在Java中,多态性可以通过继承和方法重写实现。假设有一个父类Animal和两个子类Cat和Dog,它们都继承自Animal类。假设Animal类有一个名为"makeSound"的方法,在子类中可以重写这个方法以实现不同的具体行为。
```java
class Animal {
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Cat();
Animal animal2 = new Dog();
animal1.makeSound(); // 输出 "Cat meows"
animal2.makeSound(); // 输出 "Dog barks"
}
}
```
在上面的例子中,animal1和animal2都是Animal类型的引用,但分别指向了Cat和Dog的对象。当调用makeSound方法时,实际上会根据对象的类型来决定执行哪个子类的方法。
这种多态性使得代码更加灵活和可扩展,可以在不修改现有代码的情况下增加新的子类,并且可以通过父类的引用来访问子类的方法。这是面向对象编程中的一个重要特性。
阅读全文