美文网首页
Java基础语法_方法重载

Java基础语法_方法重载

作者: 山巅自相见 | 来源:发表于2020-09-16 09:09 被阅读0次

    方法重载的基本使用

    public static void main(String[] args) {

        /*方法重载:多个方法名称一样,但是参数列表不一样

    好处:只需要记住一个方法名称,就可以实现的多个类似功能*/

        System.out.println(sum(10,10));//两个参数

        System.out.println(sum(10,10,10));//三个参数

        System.out.println(sum(10,10,10,10));//四个参数

         //System.out.println(sum(10,10,10,10,10));//找不到任何匹配方法,错误!!!

    }

    public static int sum(int a,int b){

        System.out.println("有两个参数的方法执行了");

        return 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;

    }

    方法重载的注意事项

    方法重载与下列因素相关:

        1、参数个数不同 

        2、参数类型不同

        3、多类型的顺序不同

    方法重载与下列因素无关:

        1、与参数的名称无关

       //错误写法,与参数名称无关

            public static int sum(int x,int y){

                return x + y;

            }

        2、与方法的返回值类型无关

       //错误写法,与方法的返回值类型无关

            public static double sum(int a,int b){

                return a + b + 0.0;

            }

    重载练习1——四种不同参数类

    public static void main(String[] args) {

        /*

            题目要求:

           比较两个数据是否相等

           参数类型分别为两个byte类型,两个short类型,两个int类型,两个long类型

           并在main方法中进行测试

       */

        byte a =10;

        byte b =20;

        System.out.println(isSame(a,b));

        System.out.println(isSame((short)10,(short)10));

        System.out.println(isSame(10,10));

        System.out.println(isSame(10L,10L));

    }

    public static boolean isSame(byte a,byte b){

        System.out.println("两个byte方法执行");

        boolean same;

        if (a == b){

            same =true;

        }else{

            same =false;

        }

        return same;

    }

    public static boolean isSame(short a,short b){

        System.out.println("两个short方法执行");

       //三元运算符:数据类型 变量名称 = 条件判断 ? 表达式A : 表达式

        boolean same = a == b ?true :false;

        return same;

    }

    public static boolean isSame(int a,int b){

        System.out.println("两个int方法执行");

        return a == b;

    }

    public static boolean isSame(long a,long b){

        System.out.println("两个long方法执行");

        boolean same;

        if (a == b){

            return true;

        }else{

            return false;

        }

    }

    重载练习2——判断方法的正确

    public static void open(){}//正确重载

    public static void open(int a){}//正确重载

    static void open(int a,int b){}//错误重载,和第八个数据名称冲突

    public static void open(double a,int b){}//正确重载

    public static void open(int a,double b){}//错误重载,和第六个数据名称冲突

    public void open(int i,double d){}//错误重载,和第五个数据名称冲突

    public static void OPEN(){}//正确重载

    public static void open(int i,int j){}//错误重载,和第三个数据名称冲突

    重载练习3——实现重载的println

    在调用输出语句的时候,println方法其实就是进行了多种数据类型的重载模式

    相关文章

      网友评论

          本文标题:Java基础语法_方法重载

          本文链接:https://www.haomeiwen.com/subject/mpsvektx.html