在java中,由于需求的不断改变,又有见名知义的需要,允许有多个方法名相同的方法。
即在同一个类中,方法名相同,参数列表不同,并且与返回值类型无关的,叫做重载(overload)
参数列表不同:
1.参数个数不同
2.参数类型不同
第一种:参数个数不同
public static int sum(int a,int b){
return a+b;
}
public static int sum(int a,int b,int c){
return a+b+c;
}
第二种,参数类型不同
public static int sum(int a,int b){
return a+b;
}
public static int sum(float a,int b){
return (int) (a+b);
}
第三种,返回值类型不同(这样是会报错的,是不允许的,虽然不叫重载,但是如果调用函数名和参数都一样,就不知道该返回哪一种值了)
第四种,参数名不同(这样也是会报错的,不允许,这也不叫重载,虽然参数名不同,但参数类型、位置和个数都一样,调用时也会让计算机错乱,不知道调用的是谁)