• 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)不是方法重载,不能同时存在

  • 相关阅读:
    【水滴石穿】RNNewsGo
    【水滴石穿】FirstReactNativeProject
    EF4.0和EF5.0增删改查的写法区别及执行Sql的方法
    SQL 2005中char、nchar、varchar、ntext and nvarchar(max)的区别
    七秘诀工作效率与薪水翻番-转
    NopCommerce架构分析(转载)
    转:一个基于互联网医疗的创业公司,三年是一个收获
    如何学习开源系统有感(一)
    C#的CLR组成和运转介绍
    jquery 选择器,模糊匹配
  • 原文地址:https://www.cnblogs.com/miaoxingren/p/9363906.html
Copyright © 2020-2023  润新知