java语言如何重载


方法重载的定义
在Java中,方法重载(Overloading)是指在同一个类中定义多个同名方法,但这些方法的参数列表不同(参数类型、参数数量或参数顺序不同)。重载方法允许以统一的方式处理不同类型或数量的数据。
方法重载的规则
- 方法名称必须相同。
- 参数列表必须不同(类型、数量或顺序)。
- 返回类型可以不同,但仅返回类型不同不足以构成重载。
- 访问修饰符可以不同(如
public、private)。
示例代码
public class OverloadExample {
// 方法1:两个int参数
public int add(int a, int b) {
return a + b;
}
// 方法2:三个int参数(参数数量不同)
public int add(int a, int b, int c) {
return a + b + c;
}
// 方法3:两个double参数(参数类型不同)
public double add(double a, double b) {
return a + b;
}
// 方法4:int和double参数(参数顺序不同)
public double add(int a, double b) {
return a + b;
}
// 方法5:double和int参数(参数顺序不同)
public double add(double a, int b) {
return a + b;
}
}
调用重载方法
public class Main {
public static void main(String[] args) {
OverloadExample example = new OverloadExample();
System.out.println(example.add(1, 2)); // 调用方法1
System.out.println(example.add(1, 2, 3)); // 调用方法2
System.out.println(example.add(1.5, 2.5)); // 调用方法3
System.out.println(example.add(1, 2.5)); // 调用方法4
System.out.println(example.add(1.5, 2)); // 调用方法5
}
}
注意事项
- 仅返回类型不同无法构成重载,会导致编译错误。
- 可变参数(
varargs)也可以参与重载,但需避免歧义。 - 重载方法的选择由编译器在编译时根据参数列表决定。






