面向对象编程(六)——重载

重载(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);
    }
    
原文地址:https://www.cnblogs.com/Qian123/p/5169591.html