方法重载(OverLoad)详细分析与运用

package cn.cast.day04.Demo04;
/*
对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法,太麻烦
方法的重载(OverLoad)-多个方法的名称一样,但是参数列表不一样,

好处-只需要一个参数名称,就可以实现类似的功能

特点-
1.方法名称一样
2.参数列表不一样(参数列表赋值时,必须数据类型一一对应)
3.参数的多类型顺序不同
4.与参数名称无关

方法重载的程序语句是否正确 与下列因素无关
1.与参数的名称无关(虽然参数类型不同,但是在参数名称与变量名称完全一样时,会被电脑识别为重复语句—程序中不能出现重复的语句)
2.与方法的返回值类型无关

  • */
    public class Demo01MethodOverload {
    /*public static void main(String[] args) {
    System.out.println(sumTwo(1,2));//3
    System.out.println(sumThree(1,2,3));//6
    System.out.println(sumFour(1,2,3,4));//10

    }

    public static int sumTwo(int a,int b){
    return a+b;
    }
    public static int sumThree(int a,int b,int c){
    return a+b+c;
    }
    public static int sumFour(int a,int b,int c,int d){
    return a+b+c+d;
    }*/

    public static void main(String[] args) {
    //参数名称一样,参数列表不一样,参数类型也可以不一样
    System.out.println(sum(1,2));
    System.out.println(sum(1,2.0)); //参数的类型先后顺序不同
    System.out.println(sum(1.0,2)); //参数的类型先后顺序不同
    System.out.println(sum(1.0,2.0)); //参数的类型先后顺序不同
    System.out.println(sum(1,2,3));
    System.out.println(sum(1,2,3,4));
    }

    public static int sum(int a,int b){
    System.out.println(“有2个参数的方法”);
    return a+b;
    }
    /* //与方法的返回值类型无关--------------------------这种是错误写法
    (虽然参数类型不同,但是在参数名称与变量名称完全一样时,会被电脑识别为重复语句—程序中不能出现重复的语句)

    public static double sum(int a,int b){
    System.out.println(“有2个参数的方法”);
    return a+b+0.0;*/

    //参数的类型先后顺序不同
    public static int sum(int a,double b){
    System.out.println(“有2个参数的方法 int a + double b”);
    return (int)(a+b);
    }
    //参数的类型先后顺序不同
    public static int sum(double a,int b){
    System.out.println(“有2个参数的方法 double a+ int b”);
    return (int)(a+b);
    }
    //参数的类型先后顺序不同
    public static int sum(double a,double b){
    System.out.println(“有2个参数的方法 double a+ double b”);
    return (int)(a+b);
    }

    public static int sum(int a,int b,int c){
    System.out.println(“有3个参数的方法”);
    return a+b+c;
    }
    public static int sum(int a,int b,int c,int d){
    System.out.println(“有4个参数的方法”);
    return a+b+c+d;
    }
    }


版权声明:本文为qq_31779439原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。