• 方法的重载(overload)


          方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。

    雷区

          重载的方法,实际是完全不同的方法,只是名称相同而已!

          构成方法重载的条件:

          1.不同的含义:形参类型、形参个数、形参顺序不同

          2.只有返回值不同不构成方法的重载

      如:

    int a(String str){}与 void a(String str){}

     

     

          3.只有形参的名称不同,不构成方法的重载

    int a(String str){}与int a(String s){}

    【示例】方法重载

     

        public static void main(String[] args) {
    //        System.out.println(add(3, 5));// 8
    //        System.out.println(add(3, 5, 10));// 18
    //        System.out.println(add(3.0, 5));// 8.0
    //        System.out.println(add(3, 5.0));// 8.0
            
            // 我们已经见过的方法的重载
            System.out.println();// 0个参数
            System.out.println(1);// 参数是1个int
            System.out.println(3.0);// 参数是1个double
        }
        
    //    求和方法
        public static int add(int n1,int n2){ //加上static后主函数就可以直接调用,不用创建对象
            return n1+n2;
        }
        // 方法名相同,参数个数不同,构成重载
        public static int add(int n1, int n2, int n3) {
            int sum = n1 + n2 + n3;
            return sum;
        }
        // 方法名相同,参数类型不同,构成重载
        public static double add(double n1, int n2) {
            double sum = n1 + n2;
            return sum;
        }
        // 方法名相同,参数顺序不同,构成重载
        public static double add(int n1, double n2) {
            double sum = n1 + n2;
            return sum;
        }
    /*    
        //编译错误:只有返回值不同,不构成方法的重载
        public static double add(int n1, int n2) {
            double sum = n1 + n2;
            return sum;
        }
        //编译错误:只有参数名称不同,不构成方法的重载
        public static int add(int n2, int n1) {
            double sum = n1 + n2;         
            return sum;
        } 
    */ 

     

     

     

  • 相关阅读:
    常用的正则表达式
    VScode格式化代码,开启ESlint代码检测方法,eslint代码配置
    git 常用的操作
    vscode 格式化的时候自动添加分号怎么去除
    echarts渐变色实现方法
    echart 柱状图 数值较小的时候,文字显示不全
    iview的Modal在提交表单时确认按钮loading状态冲突问题解决方案
    vue.js动态获取菜单
    12.18 webSocket消息推送
    12.18 微信模板消息推送
  • 原文地址:https://www.cnblogs.com/huaxiansheng/p/14719000.html
Copyright © 2020-2023  润新知