什么是互为重载的构造方法和互为重载的非构造方法
时间: 2023-09-27 09:06:37 浏览: 89
在面向对象编程中,同一个类中可以定义多个同名但参数列表不同的构造方法或非构造方法,这种特性就被称为方法的重载(Overloading)。
互为重载的构造方法指的是,同一个类中定义了多个构造方法,它们的方法名相同但参数列表不同,这样的构造方法之间就互为重载。例如:
```
class Dog {
public Dog() { // 无参数的构造方法
// ...
}
public Dog(int age) { // 有一个 int 类型参数的构造方法
// ...
}
public Dog(String name, int age) { // 有一个 String 类型和一个 int 类型参数的构造方法
// ...
}
}
```
在上面的例子中,`Dog` 类中定义了三个构造方法,它们的方法名都是 `Dog`,但参数列表不同,因此它们互为重载的构造方法。
同样地,互为重载的非构造方法指的是,同一个类中定义了多个非构造方法,它们的方法名相同但参数列表不同,这样的非构造方法之间就互为重载。例如:
```
class Calculator {
public int add(int a, int b) { // 有两个 int 类型参数的加法方法
return a + b;
}
public double add(double a, double b) { // 有两个 double 类型参数的加法方法
return a + b;
}
public int add(int a, int b, int c) { // 有三个 int 类型参数的加法方法
return a + b + c;
}
}
```
在上面的例子中,`Calculator` 类中定义了三个加法方法,它们的方法名都是 `add`,但参数列表不同,因此它们互为重载的非构造方法。