• java -> 方法的重载


    方法的重载

    我们假设要在程序中实现一个对数字求和的方法,由于参与求和数字的个数和类型都不确定,因此要针对不同的情况去设计不同的方法。接下来通过一个案例来实现对两个整数相加、对三个整数相加以及对两个小数相加的功能,具体实现如下所示。MethodDemo02.java

    public class MethodDemo02 {

        public static void main(String[] args) {

            // 下面是针对求和方法的调用

            int sum1 = add01(1, 2);

            int sum2 = add02(1, 2, 3);

            double sum3 = add03(1.2, 2.3);

            // 下面的代码是打印求和的结果

            System.out.println("sum1=" + sum1);

            System.out.println("sum2=" + sum2);

            System.out.println("sum3=" + sum3);

        }

     

        // 下面的方法实现了两个整数相加

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

            return x + y;

        }

        // 下面的方法实现了三个整数相加

        public static int add02(int x, int y, int z) {

            return x + y + z;

        }

        // 下面的方法实现了两个小数相加

        public static double add03(double x, double y) {

            return x + y;

        }

    }

    从上述代码不难看出,程序需要针对每一种求和的情况都定义一个方法,如果每个方法的名称都不相同,在调用时就很难分清哪种情况该调用哪个方法。

    为了解决这个问题,Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同,这就是方法的重载

    类型无关,它只有两个条件,一是方法名相同,二是参数个数或参数类型不相同。

    重载的注意事项

      重载方法参数必须不同:

        参数个数不同,如method(int x)与method(int x,int y)不同

        参数类型不同,如method(int x)与method(double x)不同g

        参数顺序不同,如method(int x,double y)与method(double x,int y)不同

      重载只与方法名与参数类型相关与返回值无关

        如void method(int x)与int method(int y)不是方法重载,不能同时存在

      重载与具体的变量标识符无关

        如method(int x)与method(int y)不是方法重载,不能同时存在

  • 相关阅读:
    JavaScript面向对象之闭包的理解
    JavaScript面向对象之函数构造器的理解
    记录jq控制select 选中状态
    JavaScript面向对象之创建类和方法
    获取对象属相 点运算符 和方括号 运算符
    parseFloat 和 Number isNaN 转换
    Js数据类型和运算符
    break , continue 和 标签 跳出循环
    javaScript--循环语句
    三元运算符
  • 原文地址:https://www.cnblogs.com/miaoxingren/p/9363906.html
Copyright © 2020-2023  润新知