有时候我们需要用一个函数同时兼容多种类型参数的情况,就要用到方法重载。
示例:
public class Test {
public static void main(String[] args) {
int a=10;
int b=20;
int ret=max(a,b);
System.out.println(ret);
double a1=1.5;
double b1=4.3;
double ret1=max(a1,b1);
System.out.println(ret1);
}
public static int max(int x,int y){
return x>y?x:y;
}
public static double max(double x,double y){
return x>y?x:y;
}
}
在样例中,我们可以看到,方法的名字都叫max,但有的max是找出两个整型中的最大值,有的是找出两个double类型的最大值,像这种同一个方法名字,提供不同的版本实现就叫方法的重载。
总结一下,针对同一个类,方法名相同,方法参数不同(个数不同,类型不同,顺序不同),并且方法的返回值类型不影响重载,就可以用重载。若两个方法名字相同,参数也相同,但返回值不同的时候,不构成重载。