1.什么是方法的重载:
(1).Java允许同一个类里定义多个同名方法,只要形参列表不同就行。如果同一个类中包含了两个或两个以上方法的方法名相同,但形参列表不同,则被称为方法重载。
(2).方法重载是让类以统一的方式处理不同类型数据的一种手段。
2. 方法重载的特点
(1).方法名相同
(2).参数列表不同
(3).与返回值无关
(4).不能将功能不同的方法进行重载
(5).与访问权限无
3. 重载中参数不同的几种形式
1.参数类型不同
//定义一个计算总和的方法,参数为整数a和整数b
public int sum(int a,int b){
return a+b;
}
//定义一个参数为整数a和浮点型b
public int sum(int a,double b){
return a+b;
}
2.参数数量不同
//定义一个计算总和的方法,参数为整数a和整数b
public int sum(int a,int b){
return a+b;
}
//定义一个参数为整数a、整数b和整数c
public int sum(int a,int b,int c){
return a+b+c;
}
3.参数类型顺序不同
//定义一个计算总和的方法,参数为单精度浮点型a和双精度浮点型b
public double sum(float a,double b){
return a+b;
}
//将参数顺序转换
public double sum(double a, float b){
return a+b;
}
//注意:一定要参数类型不同,如果类型相同,变量名不同,转换顺序是没有意义的。
比如这两个方法是不能重载的:
public int sum(int a,int b){
return a+b;
}
public int sum(int b,int a){
return a+b;
}
4. 重载时需要注意事项
1.方法名相同的方法才叫重载
//这样定义是两个方法,不属于重载
public int sum1(int a,int b){
return a+b;
}
public int sum2(int a,int b){
return a+b;
}
2.无论是否有返回值,不影响方法的重载
//这样定义的两个方法是错误的,这是两个相同的方法,Java中不允许两个相同的方法存在
public int sum(int a,int b){
return a+b;
}
public void sum(int a,int b){
int c = a+ b;
}
3.不能将不同功能的方法进行重载
//这两个方法不存在重载,这是两个方法
//计算总和的方法
public int sum(int a,int b){
return a+b;
}
//计算平均值的方法
public int avg(int a,int b){
return (a+b)/2;
}