MethodOverload


package cn.yyhl.day03;

/*
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称太麻烦。

方法的重载(Overload):多个方法的名称一样,但是参数列表不一样。
好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。

方法重载与下列因素相关:
1参数个数不同
2参数类型不同
3参数的多类型顺序不同

方法重载与下列因素无关:
1与参数名称无关
2与方法的返回值类型无关

 */
public class MethodOverload {
    public static void main(String[] args) {
        System.out.println(sum(10, 20));//有两个参数的方法
        System.out.println(sum(10,20,30));//有三个参数的方法
        System.out.println(sum(10,20,30,40));//有四个参数的方法
//        System.out.println(sum(10,20,30,40,50));//找不到任何方法来匹配,所以报错!
    }

    public static int sum(int a, int b){
        System.out.println("有两个参数的方法执行! ");
        return a + b;
    }

//    //错误写法,方法重载与方法的返回值类型无关
//    public static double sum(int a, int b){
//        return a + b + 0.0;
//    }

//    //错误写法,方法重载与参数名称无关
//    public static int sum(int x, int y){
//        return x + y;
//    }

    //方法重载与参数的多类型顺序不同相关
    public static int sum(int a, double b){
        return (int) (a + b);
    }

    public static int sum(double a, int b){
        return (int) (a + b);
    }

    //方法重载与方法的参数类型不同相关
    public static int sum(double a, double b){
        return (int) (a + b);
    }

    ////方法重载与方法的参数个数不同相关
    public static int sum(int a, int b, int c){
        System.out.println("有三个参数的方法执行! ");
        return a + b + c;
    }

    public static int sum(int a, int b, int c, int d){
        System.out.println("有四个参数的方法执行! ");
        return a + b + c + d;
    }
}

 

 

 

posted @ 2021-07-01 12:34  凝眸望天涯  阅读(61)  评论(0)    收藏  举报