方法重载(overloading method)

实质

方法的重载是在同一个类中,方法与方法之间的关系。重载其实就是在类中重用方法名。java平台靠方法签名来区分不同的方法;方法签名相同的方法无法同时存在于同一个类中(即使它们的访问修饰符、返回值类型不同,因为方法签名与这些无关)。

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数不同的方法。

方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。

方法签名

方法签名由两部分组成

  • 方法名
  • 方法的参数类型(包括数据类型、个数、顺序等

重载的含义

类中的两个或多个方法,若它们有相同的方法名,但有不同的方法签名,那么这几个方法就是重载的。

方法重载的具体规范

  1. 方法名一定要相同。
  2. 方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
  • 如果参数个数不同,就不管它的参数类型了!
  • 如果参数个数相同,那么参数的类型必须不同。

3. 方法的返回类型、修饰符可以相同,也可不同。

示例代码

public class MethodOverloading {
 
    void receive(int i) {
        System.out.println("Received one int data");
        System.out.println("i="+i);
    }
     
    void receive(float f) {
        System.out.println("Received one float data");
        System.out.println("f="+f);
    }
     
    void receive(String s) {
        System.out.println("Received a String");
        System.out.println("s="+s);
    }
     
    public static void main(String [] args){
        MethodOverloading m = new MethodOverloading();
        m.receive(3456);
        m.receive(34.56f);
        m.receive("方法重载");
    }
}

应用时应该注意,方法重载只跟方法名(相同)和参数表(不同)有关。与访问修饰符、返回值、形参名等无关。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 前言 人生苦多,快来 Kotlin ,快速学习Kotlin! 什么是Kotlin? Kotlin 是种静态类型编程...
    任半生嚣狂阅读 26,295评论 9 118
  • "Unterminated string literal.": "未终止的字符串文本。", "Identifier...
    两个心阅读 8,474评论 0 4
  • { "Unterminated string literal.": "未终止的字符串文本。", "Identifi...
    栗子雨阅读 7,991评论 0 3
  • 深秋的心雨 温麻新姿 秋高气爽,这是秋的气质所在,更是秋的韵味使然。秋天是一个硕果累累的时节,亦是一个多愁善感的季...
    温麻新姿A阅读 562评论 8 9