方法重载的定义:
在一个类内如果两个方法的方法名相同,参数签名不同. 可以说一个方法是另一个方法的重载.
要点:
1 方法重载发生在一个类的内部,分为普通方法重载和构造方法重载.
2 方法名称必须相同
3 方法的参数签名必须不同(指方法的参数个数,参数顺序,参数类型的不同)
4 与方法的返回值无关
5 与方法的修饰符无关
/**方法重载(一般方法和构造方法):
* 在一个类内如果两个方法的方法名相同,参数签名不同.
* 可以说一个方法是另一个方法的重载.
*/
class OverLoad {
private int i ;
public OverLoad() {}
public OverLoad(int i) {this.i = i;} //构造方法的重载
public int sum(int i,int j)
{
System.out.println("两个int参数");
return i+j;
}
// 方法重载 方法名相同,方法的参数签名不同(方法参数的个数,顺序,类型不同).与方法的返回类型和修饰符无关
protected double sum(double i,double j)
{
System.out.println("两个double参数");
return i+j;
}
double sum(int i,double j)
{
System.out.println("第一个为int参数,第二个为double参数");
return i+j;
}
public double sum(double j,int i)
{
System.out.println("第一个为double参数.第二个为int参数");
return i+j;
}
}
public class TestOverLoad {
public static void main(String[] args) {
OverLoad over = new OverLoad();
int i = 10;
int j = 100;
double d1 = 10.0;
double d2 = 100.0;
System.out.println(over.sum(i, j));
System.out.println(over.sum(d1, d2));
System.out.println(over.sum(i, d1));
System.out.println(over.sum(d1, i));
}
}
输出结果 :
两个int参数
110
两个double参数
110.0
第一个为int参数,第二个为double参数
20.0
第一个为double参数.第二个为int参数
20.0