多态
多态(Polymorphism)
= “同一种行为,在不同对象上表现出不同形态”
它是面向对象三大特性之一,也是 Java 运行时系统最核心、最常用、最能体现“扩展性”的机制。
= “同一种行为,在不同对象上表现出不同形态”
它是面向对象三大特性之一,也是 Java 运行时系统最核心、最常用、最能体现“扩展性”的机制。
一句话记住
“编译时看左边,运行时看右边。”
-
多态存在的 3 个前提(面试高频)
-
继承 / 接口实现
-
方法重写(override)
-
父类/接口引用指向子类对象(向上转型)
-
代码 30 秒看懂
java
interface Animal { // 1. 共同接口
void shout();
}
class Dog implements Animal { // 2. 子类重写
public void shout() { System.out.println("汪汪"); }
}
class Cat implements Animal {
public void shout() { System.out.println("喵喵"); }
}
public class Demo {
public static void main(String[] args) {
Animal a1 = new Dog(); // 3. 向上转型
Animal a2 = new Cat();
a1.shout(); // 运行时 Dog 的版本 → 汪汪
a2.shout(); // 运行时 Cat 的版本 → 喵喵
}
}
同样一句
a.shout(),具体叫声由“真实对象”决定,这就是多态。

浙公网安备 33010602011771号