方法重载:方法名相同,只是传入的参数个数不同,或者类型不同,或者不同类型不同顺序。
此时调用方法时,只需要根据传入参数即可找到对应的那个方法,而不需要定义多个方法,eg:sumtwo,sumthree,sumfour等。只用一个sum方法就行了
1.与参数个数有关
public int sum(int x, int y){
return x+y;
}
public int sum(int x, int y, int z){
return x+y+z;
}
2.与参数类型有关
?
public int sum(int x, int y){
return x+y;
}
public int sum(double x, double y){
return (int)(x+y);
}
?
3.与多类型参数顺序有关
?
?
public int sum(int x, double y){
return (int)(x+y);
}
public int sum(double x, int y){
return (int)(x+y);
}
?
?
上面三种都构成方法重载
与下列因素无关:
1.与参数的名称无关
?
public int sum(int x, int y){
return x+y;
}
public int sum(int a, int b){
return a+b;
}
?
不构成方法重载,调用方法传入参数时不知道调用哪个方法。
2.与参数的返回值类型无关
?
public int sum(int x, int y){
return x+y;
}
public double sum(int x, int y){
return x+y+0.0;
}
?
不构成方法重载,在单独调用不构成返回值时,不知道该用哪个方法。
|