对重载 (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;
        }
        }
      • 使用这三个方法
        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
        }
    • 使用方法重载

      • 定义三个功能类似的方法
        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;
        }
        }
      • 使用这三个方法
        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
        }
  • 注意:

    • 方法重载的相关因素:

      • 参数个数不同
        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) {
        return a + b;
        }
        public static int sum(long a, long b) {
        return (int) (a + b);
        }
      • 参数的多类型顺序不同
        public static int sum(int a, double b) {
        return (int) (a + b);
        }
        public static int sum(double a, int b) {
        return (int) (a + b);
        }

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

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

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

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

  • 总结:

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

Java 方法重载 (Overload)的更多相关文章

  1. java 方法重载overload

    一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...

  2. 方法重载overload与方法重写overwrite

    方法重载overload: 在同一个类中,出现相同的方法名,与返回值无关,参数列表不同:1参数的个数不同 2参数类型不同 在调用方法时,java虚拟机会通过参数列表来区分不同同名的方法 方法重写ove ...

  3. java方法——重载2

    什么是Java方法重载 方法重载的定义 1 对于同一个类,如果这个类里面有两个或者多个重名的方法,但是方法的参数个数.类型.顺序至少有一个不一样,这时候局构成方法重载. END 方法重载示例 1 pu ...

  4. java基础—方法重载(overload)

    一.方法的重载 方法名一样,但参数不一样,这就是重载(overload). 所谓的参数不一样,主要有两点:第一是参数的个数不一样,第二是参数的类型不一样.只要这两方面有其中的一方面不一样就可以构成方法 ...

  5. java方法重载(overload)、重写(override);this、super关键简介

    一.方法重载: 条件:必须在一个类中,方法名称相同,参数列表不同(包括:数据类型.顺序.个数),典型案例构 造方重载.  注意:与返回值无关 二.方法重写: 条件: (1)继承某个类或实现某接口 (2 ...

  6. Java方法重载

    Java允许一个类中定义多个方法,只要参数列表不同就行了.如果同一个类中包含了两个或者两个以上的方法的方法名相同,但形参列表不同,则被称为方法重载. /* 参数类型不同的重载 */ public cl ...

  7. Java 方法重载,方法重写(覆盖),继承等细节注意

    1.方法重载(method overload)的具体规范 如果有两个方法的方法名相同,但参数不一致,那么可以说一个方法是另一个方法的重载. 一.方法名一定要相同. 二.方法的参数表必须不同,包括参数的 ...

  8. Java 方法重载和多态

    先来看看什么是方法重载? 方法重载的要求是:方法名相同,参数列表不同(不同的参数类型或者参数顺序或者参数个数).至于方法的其他部分,如方法返回值类型和修饰符,与方法重载没有任何关系.最好加上@Over ...

  9. Java 方法重载与引用数组类型

    1.方法重载  1)方法的签名 方法的签名包含方法名和参数列表 一个类中,不可以有两个方法的签名完全相同,即一个类中不能有两个方法的方法名和参数列表都一样. public class Test{ pu ...

随机推荐

  1. 【IE低配杀手】html5shiv.js和respond.min.js

    HTML5现在越来越流行了,但是一遇到IE低版本浏览器就傻眼了,今天整理了一下一些解决办法. html5shiv:解决ie9以下浏览器对html5新增标签的不识别,并导致CSS不起作用的问题. res ...

  2. mui中判断是点击还是滑动

    判断和滑动是两种触发方式 滑动分为四种,上下左右(swipeup,swipedown,swipeleft,swiperight) 点击分为两种,点击和双击,一般用单机(tap) 根据自己不同的需求进行 ...

  3. Scala 学习笔记之集合(6)

    object CollectionDemo7 { def main(args: Array[String]): Unit = { //数组使用 val arr = Array("red&qu ...

  4. Android通过外部浏览器调用微信H5支付,Android+PHP详解

    看了好多关于讲解微信H5支付开发的文章,大多数都是通过微信内部浏览器来调用支付接口(其实就是公众号支付),可能是因为H5支付接口刚开放不久吧. 微信官方体验链接:http://wxpay.wxutil ...

  5. ASRWGAN: Wasserstein Generative Adversarial Network for Audio Super Resolution

    ASEGAN:WGAN音频超分辨率 这篇文章并不具有权威性,因为没有发表,说不定是外国的某个大学的毕业设计,或者课程结束后的作业.或者实验报告. CS230: Deep Learning, Sprin ...

  6. 02-12 Logistic(逻辑)回归

    目录 逻辑回归 一.逻辑回归学习目标 二.逻辑回归引入 三.逻辑回归详解 3.1 线性回归与逻辑回归 3.2 二元逻辑回归的假设函数 3.2.1 让步比 3.2.2 Sigmoid函数图像 3.3 二 ...

  7. windows服务器多端口Redis安装步骤

    1.从官网获取最新稳定版redis文件.按端口号复制多个文件,比如6379和6380端口的文件包, 修改各自Conf文件的port号,分别为6379和6380.然后重命名为redis6379.conf ...

  8. .net mvc web api Autofac依赖注入框架-戈多编程

    今天自己搭了一套基于三层的依赖注入mvc web api 的依赖注入框架,在此总结下相关配置 1.设置应用程序的.net Framework版本为 4.5 2.通过Nuget 安装autofac包 I ...

  9. 洛谷P1613 跑路

    题目描述 小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零.可是小A偏偏又有赖床的坏毛病.于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟 ...

  10. dp复习 背包[礼物]

    [问题描述]人生赢家老王在网上认识了一个妹纸,然后妹纸的生日到了,为了表示自己的心意,他决定送她礼物.可是她喜爱的东西特别多,然而他的钱数有限,因此他想知道当他花一定钱数后剩余钱数无法再购买任何一件剩 ...