Java多态
介绍
多态(Polymorphism)是面向对象编程(OOP)的四大特性之一,另外三个是封装、继承和抽象。多态允许我们使用统一的接口来处理不同的数据类型或对象。简单来说,多态意味着“一个接口,多种实现”。
在Java中,多态主要通过方法重写(Override)和向上转型(Upcasting)来实现。多态性使得代码更加灵活和可扩展,因为它允许我们在不修改现有代码的情况下添加新的功能。
多态的类型
Java中的多态主要分为两种类型:
- 编译时多态(静态多态):通过方法重载(Overloading)实现。方法重载是指在同一个类中定义多个同名方法,但参数列表不同。
- 运行时多态(动态多态):通过方法重写(Override)和向上转型实现。方法重写是指子类重新定义父类中的方法。
编译时多态示例
class Calculator {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println(calc.add(2, 3)); // 输出: 5
System.out.println(calc.add(2.5, 3.5)); // 输出: 6.0
}
}
在这个例子中,Calculator
类中有两个add
方法,它们的参数类型不同。编译器在编译时根据传入的参数类型决定调用哪个方法。