方法过载(Method Overloading)是面向对象编程中的一种技术,它允许在同一个类中定义多个同名方法,但这些方法的参数列表(即参数的类型、顺序和数量)必须不同。这样,编译器可以根据调用时提供的参数类型和数量自动选择正确的方法版本来执行。
方法过载的优点包括:
- 代码复用:通过提供多个具有相似功能的方法,可以减少重复代码,提高代码的可维护性。
- 灵活性:方法过载允许程序员根据不同的输入参数执行不同的操作,从而实现更灵活的逻辑处理。
- 可读性:通过为方法提供有意义的名称,可以清晰地表达方法的功能,提高代码的可读性。
下面是一个简单的Java示例,展示了方法过载的用法:
```java public class OverloadingExample { public static void main(String[] args) { OverloadingExample example = new OverloadingExample();
// 调用方法 add,参数为 int 类型
int sum1 = example.add(5, 3);
System.out.println("Sum of 5 and 3: " + sum1);
// 调用方法 add,参数为 double 类型
double sum2 = example.add(5.5, 3.2);
System.out.println("Sum of 5.5 and 3.2: " + sum2);
// 调用方法 add,参数为 String 类型(会抛出异常)
try {
String str = example.add("Hello", "World");
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
// 方法 add,参数为 int 类型
public int add(int a, int b) {
return a + b;
}
// 方法 add,参数为 double 类型
public double add(double a, double b) {
return a + b;
}
// 方法 add,参数为 String 类型(会抛出异常)
public String add(String a, String b) {
return a + b;
}
}
``
在上面的示例中,我们定义了一个名为
add的方法,它接受不同类型的参数列表。当调用该方法时,编译器会根据提供的参数类型自动选择正确的方法版本。注意,在最后一个方法
add` 中,我们故意传递了两个字符串参数,这将导致编译器抛出异常,因为该方法不接受字符串类型的参数。