> 教育经验 > 什么是方法重载介绍

什么是方法重载介绍

什么是方法重载介绍

方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。调用重载方法时,Java编译器能通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载通常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。Java的方法重载,就是在类中可以创建多个方法,它们可以有相同的名字,但必须具有不同的参数,即或者是参数的个数不同,或者是参数的类型不同。调用方法时通过传递给它们的不同个数和类型的参数,以及传入参数的顺序来决定具体使用哪个方法。

方法重载软道语录

方法重载:

方法重载就是方法名称重复,加载参数不同。

在一个Java类中,定义多个同名的方法,如果方法名相同,方法参数不同,包括参数的类型和个数都不同,叫做方法的重载。调用重载方法时,Java 编译器通过检查调用的方法的参数类型和个数选择一个恰当的方法。方法重载常用于创建完成一组任务相似但参数的类型或参数的个数或参数的顺序不同的方法。

方法的重载,既可以发生在普通方法上,也可以发生在构造方法上。方法的重载,既可以发生在同类中,也可以发生在父子类中。

Java方法的重载:返回类型、修饰符可以相同,也可不同。要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。

public class MethodOverloading{    public void show(String str){            ... ...    }    public void show(int i){           ... ...    }    public void show(double d){        ... ...    }    public void show(int i,double d){        ... ...    }}public class TestDemo {    public static void main(String args) {        //此时将根据参数的类型和个数的不同执行不同的方法体        System.out.println(add(10, 20));        System.out.println(add(30, 40, 50));        System.out.println(add(1.1, 2.1));    }    public static int add(int x, int y) {        return x + y;    }    //此时方法名称相同,参数的个数不同    public static int add(int x, int y, int z) {        return x + y + z;    }    public static double add(double x, double y) {        return x + y;    }}

方法重载例子

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 data\");        System.out.println(\"s=\"+s);    }        public static void main(String  args){        MethodOverloading m = new MethodOverloading();        m.receive(3456);        m.receive(34.56f);        m.receive(\"方法重载\");    }}

注意,Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。

方法重载具体规范

一.方法名一定要相同。

二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

1、如果参数个数不同,就不管它的参数类型了!

2、如果参数个数相同,那么参数的类型必须不同。

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