Java 多态
什么是多态?
**多态(Polymorphism)**是面向对象编程的三大核心特性之一(另外两个是封装和继承)。多态字面意思是"多种形态",在Java中,多态允许不同的对象对同一消息作出不同的响应。简单来说,多态就是同一个行为在不同的对象上有不同的表现形式。
理解多态
想象一个"按钮"类,不同的按钮(如"保存"按钮、"取消"按钮)点击后会执行不同的操作,这就是多态的一个实际体现。
多态的基本形式
Java中的多态主要通过以下方式体现:
- 编译时多态(静态多态):通过方法重载实现
- 运行时多态(动态多态):通过方法重写实现
编译时多态 - 方法重载
方法重载(Overloading)是指在同一个类中定义多个同名但参数不同的方法。编译器会根据调用方法的参数类型和数量来确定调用哪个方法。
public class Calculator {
// 两个整数相加
public int add(int a, int b) {
return a + b;
}
// 三个整数相加
public int add(int a, int b, int c) {
return a + b + c;
}
// 两个浮点数相加
public double add(double a, double b) {
return a + b;
}
}
使用示例:
public class OverloadingExample {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("2 + 3 = " + calc.add(2, 3)); // 输出:2 + 3 = 5
System.out.println("2 + 3 + 4 = " + calc.add(2, 3, 4)); // 输出:2 + 3 + 4 = 9
System.out.println("2.5 + 3.5 = " + calc.add(2.5, 3.5)); // 输出:2.5 + 3.5 = 6.0
}
}