• Java 方法重载 (Overload)


    对重载 (Overload) 的认识

    • 为什么要用方法重载:

      • 对于功能类似的方法来说,因为参数列表不一样,如果定义不同名称的方法,太麻烦且难以记忆。
      • 为了解决这个问题,引入方法的重载。
    • 重载的定义:

      • 多个方法的名称一样,但参数列表不一样。
    • 例子:

      • 不使用方法重载

        • 定义三个功能类似的方法
          public class TestOverload {
              public static int sumOne(int a) {
                  return a;
              }
              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;
              }
          }
          View Code
        • 使用这三个方法
          public static void main(String[] args) {
              System.out.println(sumOne(1));
              // 输出 1
              
              System.out.println(sumTwo(1, 2));
              // 输出 3
          
              System.out.println(sumThree(1, 2, 3));
              // 输出 6
          }
          View Code
      • 使用方法重载

        • 定义三个功能类似的方法
          public class TestOverload {
              public static int sum(int a) {
                  return a;
              }
              public static int sum(int a, int b) {
                  return a + b;
              }
              public static int sum(int a, int b, int c) {
                  return a + b + c;
              }
          }
          View Code
        • 使用这三个方法
          public static void main(String[] args) {
              System.out.println(sum(1));
              // 输出 1
              
              System.out.println(sum(1, 2));
              // 输出 3
          
              System.out.println(sum(1, 2, 3));
              // 输出 6
          }
          View Code
    • 注意:

      • 方法重载的相关因素:

        • 参数个数不同
          public static int sum(int a) {
              return a;
          }
          public static int sum(int a, int b) {
              return a + b;
          }
          View Code
        • 参数类型不同
          public static int sum(int a, int b) {
              return a + b;
          }
          public static int sum(long a, long b) {
              return (int) (a + b);
          }
          View Code
        • 参数的多类型顺序不同
          public static int sum(int a, double b) {
              return (int) (a + b);
          }
          public static int sum(double a, int b) {
              return (int) (a + b);
          }
          View Code

          以上的三个因素都可以进行方法的重载

      • 方法重载的不相关因素:

        • 与参数的名称无关
          public static int sum(int a, int b) {
              return a + b;
          }
          public static int sum(int x, int y) {
              return x + y;
          }
          View Code
        • 与方法的返回值无关
          public static double sum(int a, int b) {
              return a + b;
          }
          public static int sum(int a, int b) {
              return a + b;
          }
          View Code

          以上的三个因素都不可以进行方法的重载

    • 总结:

      • 如果有功能类似的方法,可以使用方法重载,这样不仅容易记忆,调用起来也方便。

  • 相关阅读:
    hive -- 协同过滤sql语句
    Hive
    hive的排序,分組练习
    Hive 外部表的练习(多表关联查询,以及分组,子查询)
    javascript高级程序编程-学习笔记(基础)
    nodejs-基础与深入
    4.npm模块安装和使用(axios异步请求,lodash工具库)
    node-xlsx
    Git在tortoiseGit以及eclipse的使用方法
    稻盛和夫----六项精进
  • 原文地址:https://www.cnblogs.com/liyihua/p/11811343.html
Copyright © 2020-2023  润新知