方法重载overload
类的方法中我们常会遇到一组功能相同或非常类似,只是参数有些不同这个时候我们就需要用到方法的重载。
如:
在一个数学类里面需要计算两个或几个数的和。
public class MyMath {
//整数求和
int add(int a1, int a2){
return a1+a2;
}
//浮点数求和
double add(double d1, double d2){
return d1+d2;
}
public static void main(String[] args) {
int num1 = 10;
int num2 = 30;
int sumInt;
double dNum1 = 100.12;
double dNum2 = 212.23;
double sumDouble;
MyMath myMath = new MyMath();
sumInt = myMath.add(num1, num2);
sumDouble = myMath.add(dNum1, dNum2);
System.out.println("整数的和是:" + sumInt);
System.out.println("浮点数的和是:" + sumDouble);
}
}
运行结果:
整数的和是:40
浮点数的和是:312.35
重载的方法名必须相同,参数的类型或数量不完全相同,编译器可以根据参数的不同选择性的调用参数相匹配的方法。
前面的例子也可以扩展为求三个数的和
//整数求和
int add(int a1, int a2, int a3){
return add(add(a1, a2), a3);
}
//浮点数求和
double add(double d1, double d2, double d3){
return add(add(d1, d2), d3);
}
add(a1,a2)
这个数可以直接做为一个参数,参数的值即为该方法的变回值,a1+a2
的和。最终add(add(a1, a2), a3)返回的结果即为a1+a2+a3的和。