重载(Overloading)是面向对象编程中的一个重要概念,它允许一个类中有多个同名的方法,但这些方法在参数的数量或类型上有所不同。以下是重载遵循的一些基本原则:
1. 编译时多态:重载是在编译时解决的,而不是在运行时。这意味着编译器在编译代码时会根据方法的参数列表来决定调用哪个方法。
2. 方法签名:重载的方法必须具有不同的签名,即方法名必须相同,但参数列表必须不同。参数列表的不同可以体现在参数的数量、类型或顺序上。
3. 参数列表:重载方法不能仅仅通过返回类型的不同来区分,即不能只改变返回类型来重载方法。
4. 隐式转换:重载方法可以通过隐式类型转换来区分不同的参数类型。例如,可以将一个方法重载为接受一个int类型的参数和一个double类型的参数。
5. 方法重载与重写不同:重写是指子类中有一个与父类方法签名完全相同的方法,而重载是同一个类中方法签名不同的情况。
以下是一些重载的例子:
```java
public class Calculator {
// 重载:参数数量不同
public int add(int a, int b) {
return a + b;