java如何重载


方法重载的概念
方法重载(Overloading)是指在同一个类中定义多个同名方法,但这些方法的参数列表不同(参数类型、参数数量或参数顺序不同)。重载与返回值类型无关,仅与参数列表相关。
方法重载的条件
- 方法名称必须相同。
- 参数列表必须不同(至少满足以下一项):
- 参数类型不同
- 参数数量不同
- 参数顺序不同(仅当类型不同时有效)
- 返回值类型可以不同,但不能仅通过返回值类型区分重载。
示例代码
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 int foo() { return 1; } public double foo() { return 1.0; } // 编译错误 - 重载方法可以有不同的访问修饰符(如
public、private)。 - 重载方法可以抛出不同的异常。
重载与重写的区别
- 重载发生在同一个类中,方法名相同但参数列表不同。
- 重写(Override)发生在子类与父类之间,方法名、参数列表和返回值类型必须相同。






