一、多态
1.1 多态的概念
多态是面向对象的三大特性之一,核心是**'一个接口,多种实现'**。具体表现为:父类/接口的引用可以指向子类/实现类的对象,调用方法时会执行实际对象的重写方法。
1.2 多态的前提
- 存在继承/实现关系
- 方法重写(@Override)
- 父类/接口引用指向子类/实现类对象
1.3 多态的实现方式
方法重写(Override) 子类继承父类并重写父类方法,通过父类引用调用子类对象时,实际执行的是子类的方法。
// 1. 父类:只定义一个通用方法
class Animal {
void shout() {
// 通用行为:叫
System.out.println("动物叫");
}
}
// 2. 子类 1:狗(重写父类的叫方法)
class Dog extends Animal {
@Override
void shout() {
System.out.println("汪汪汪");
}
}
// 3. 子类 2:猫(重写父类的叫方法)
class Cat extends Animal {
@Override
void shout() {
System.out.println("喵喵喵");
}
}
// 测试:多态的核心体现
public class SimplePolymorphism {
public static void main(String[] args) {
// 核心:父类引用 指向 子类对象
Animal a1 = ();
();
a1.shout();
a2.shout();
}
}

