java什么是重载?在Java中,方法重载(Method Overloading)指的是在同一个类中声明多个具有相同名称但参数列表不同的方法。通过方法重载,可以在同一个类中定义多个功能类似但参数类型或个数不同的方法。
方法重载的特点如下:
1. 方法名称必须相同。
2. 方法参数列表必须不同,包括参数的类型、个数或顺序。这被称为方法的签名(Signature)。
3. 方法的返回类型可以相同也可以不同。
4. 访问修饰符、异常列表或抛出的异常可以相同也可以不同。
5. 方法重载与方法的返回值类型和访问修饰符无关。
例如,假设有一个名为 `add` 的类,我们可以在该类中定义多个名为 `add` 的方法,使用不同的参数列表来进行重载。例如:
public class Add {
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
在上面的例子中,`Add` 类中定义了三个名为 `add` 的方法,分别接收两个整型参数、两个浮点型参数以及三个整型参数。
当调用 `add` 方法时,Java编译器会根据提供的参数列表匹配对应的重载方法。编译器通过比较实际参数与方法参数列表的类型、个数和顺序来确定调用哪个重载方法。
例如:
Add obj = new Add();
int sum1 = obj.add(3, 5); // 调用 add(int a, int b)
double sum2 = obj.add(2.5, 4.7); // 调用 add(double a, double b)
int sum3 = obj.add(1, 2, 3); // 调用 add(int a, int b, int c)
方法重载使得代码更具灵活性和可读性,可以根据不同的需求和参数类型选择对应的方法进行调用,提高了代码的复用性和扩展性。