方法的重载发生的条件是在同一个类内,并且方法名相同,方法的形参列表不同。同一个类就是重载的方法是同时存在于一个类内,方法名相同就是方法的名称相同,那么什么情况是形参列表不同呢?
1、形参的数据类型不同
public void test(int a){
}
public void test(double a){
}
2、形参的数据类型顺序不同
public void test1(int a,double b){
}
public void test1(double a, int b){
}
这里要注意是类型的顺序不同,以上面这个例子为例,如果两个参数都是int类型的,那么就没有顺序这种说法,变量名的顺序不一样并不是类型顺序不一样,如下这种情况就不是方法的重载
//以下这两个方法没有重载
public void test2(int a,int b){
}
public void test2(int b, int a){
}
3、形参的个数不同
public void test3(int a){
}
public void test3(int a, int b){
}
有一种情况也需要注意,当我们形参列表一致,但是返回值类型不一样的时候,它也不是重载。包括void和其他的数据类型。