Java中的多态(Polymorphism)是面向对象编程的三大特性之一,另外两个是封装(Encapsulation)和继承(Inheritance)。多态意味着“多种形态”,它允许我们以统一的方式处理不同类型的对象。在Java中,多态主要通过方法的重写(Overriding)和方法的重载(Overloading)来实现,但通常我们说的多态是指方法的重写和通过父类引用指向子类对象。
方法的重写(Overriding)
当子类中存在与父类同名、同参数列表、同返回类型(或协变返回类型)的方法时,我们说子类重写了父类的方法。当通过父类引用指向子类对象,并调用这个方法时,实际执行的是子类中的方法,这就是多态的体现。
java复制代码
class Animal { | |
void makeSound() { | |
System.out.println("The animal makes a sound"); | |
} | |
} | |
class Dog extends Animal { | |
@Override | |