总结
重载是一个类有多个同名方法,方法的参数列表不同;
在编程中,
**重载(Overloading)**通常指的是
允许
在同一个类中有多个同名的方法,
但它们的参数列表(即参数的数量、类型或顺序)不同。
一个类有多个同名方法,方法的参数列表不同;
这样的设计使得调用方法
时,编译器
可以根据提供的参数
来确定应该调用哪个方法。
站在编译器角度看重载;
重载的主要目的是提高代码的可读性和可维护性
,
因为它允许开发者使用相同的函数名
来表示相似的操作,但操作的对象或上下文可能不同。
站在开发者角度看重载;
重载的基本规则:
方法名
必须相同。参数列表
必须不同(可以是参数类型不同、参数个数不同或参数顺序不同)。- 方法的
返回类型
可以相同也可以不同,但返回类型不能作为区分重载方法的依据。 - 重载发生在同一个类中,
不能用于继承关系中的子类
。
示例(Java):
public class OverloadExample {
// 无参数的方法
public void show() {
System.out.println("No parameters");
}
// 有一个整数参数的方法
public void show(int num) {
System.out.println("One integer parameter: " + num);
}
// 有两个整数参数的方法
public void show(int num1, int num2) {
System.out.println("Two integer parameters: " + num1 + ", " + num2);
}
// 有一个字符串参数的方法
public void show(String str) {
System.out.println("One string parameter: " + str);
}
public static void main(String[] args) {
OverloadExample example = new OverloadExample();
example.show(); // 调用无参数的方法
example.show(10); // 调用有一个整数参数的方法
example.show(10, 20); // 调用有两个整数参数的方法
example.show("Hello"); // 调用有一个字符串参数的方法
}
}
在这个示例中,show
方法被重载了四次,每次的参数列表都不同。
在 main
方法中,我们根据提供的参数来调用不同的 show
方法。