重载(overload)
方法的重载是指一个类中可以定义有相同的名字,但是参数不同的的多个方法。调用时,会根据不同的参数列表选择对应的方法。
主要“两同三不同”:
①相同: 同一个类,同一个方法名;
②不同:参数列表不同(参数类型、个数、顺序不同)
注:①只有返回值不同的不构成方法的重载。
比如:int a(String str[]) 和void a(String i),调用:a().→→→→你们能识别出调用的是哪个方法吗?
②只有形参的名称不同,不构成方法的重载。
③与普通方法一样,构造方法也可以重载。
public class testOverload { /** @Description: 测试重载 * @date 2016-1-29 下午5:18:35 * @param args * @return void */ public static void main(String[] args) { MyMath m=new MyMath(); int result=m.add(4,5);//1 System.out.println(result); int result1=m.add(4,5,2);//2 System.out.println(result1); int result2=m.add(4.2,5);//3 System.out.println(result2); int result3=m.add(4,5.4);//3 System.out.println(result3); }}
class MyMath{ public int add(int a,int b){ //1 return a+b; } public int add(int a,int b,int c){ //2 与1参数个数不同 return a+b+c; } public int add(double a,int b){ //3 与1参数类型不同 return (int)(a+b); } public int add(int a,double b){ //4 与1、3参数类型不同 return (int)(a+b); }