Java 多态(Polymorphism)
多态是面向对象编程的核心特性之一,它允许同一接口有不同的实现方式。理解多态是掌握面向对象编程的关键。本章将详细介绍 Java 中的多态机制。
多态的概念
什么是多态
多态(Polymorphism)是指同一接口可以有多种不同的实现方式。
核心思想:
- 同一接口:相同的方法调用
- 不同实现:不同的类提供不同的实现
- 运行时决定:根据实际对象类型调用对应的方法
多态的类型
Java 中的多态主要有两种形式:
- 编译时多态:方法重载(Overload)
- 运行时多态:方法重写(Override)
运行时多态(方法重写)
基本示例
// 父类
public class Animal {
public void makeSound() {
System.out.println("动物发出声音");
}
}
// 子类 1
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("汪汪汪");
}
}
// 子类 2
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("喵喵喵");
}
}
// 多态使用
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // 汪汪汪(调用 Dog 的方法)
animal2.makeSound(); // 喵喵喵(调用 Cat 的方法)