方法重载:
在一个类中有多个方法的名字相同,但参数类型或参数个数不同的函数。
构成重载的条件:
1. 参数类型不同,构成重载;
2. 参数个数不同,构成重载;
3. 参数顺序不同,构成重载。
可以简单理解为,方法的名字一样,但是参数表不一样。
如果2个方法的名字一样,参数表也一样,即参数类型和个数均相同,只有返回值类型不同,则不构成重载,编译时会有错误提示(Duplicate method…)。
方法的名字和参数列表成为方法的签名
。返回类型不是签名的一部分。
public class Test {
int add(int x,int y){
return x+y;
}
//参数个数不同
int add(int x,int y,int z){
return x+y+z;
}
//参数类型不同
double add(double x,double y){
return x+y;
}
//参数顺序不同
int add(int x,double y){
return (int) (x+y);
}
int add(double x,int y){
return (int) (x+y);
}
//不定长参数方法
int add(int...a){
int s=0;
for(int i=0;i<a.length;i++){
s+=a[i];
}
return s;
}
//只有返回类型不同,报错
// void add(int x,int y){
//
// }
public static void main(String[] args){
}
}