Java的方法允许多个方法共用一个方法名,但要求方法的参数个数或参数的类型彼此不同,这种机制称为方法重载。重载的好处就是不要为具有相似功能的方法取不同的名称,从而使用方法的使用者感到困惑,比如有若干个实现对传递的参数求各运算,返回它们的和,即这一系列方法功能都相似的,无需要定义若干个名称类似于adda,addb,addc…等等这样的名称,只需要一个add名称即,只不过它们的参数不同(这里只是个数不同)。如下示例
classMyMath{
publicintadd(inta,intb){
System.out.println("方法int add(int a,int b)被调用");
intc=a+b;
returnc;
}
publicintadd(inta,intb,intc){
System.out.println("方法int add(int a,int b,int c)被调用");
intd=a+b+c;
returnd;
}
publicdoubleadd(doublea,doubleb){
System.out.println("方法double add(double a,double b)被调用");
doublec=a+b;
returnc;
}
}
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
MyMathm=newMyMath ();
inta=m.add(1,2);
a=m.add(1,2,3);
doubled=m.add(1.1,2.2);
d=m.add(1,2.2);
}
}
程序运行的结果如下: