关于方法重载的定义,引用规则及方式

(1)方法重载概念:方法重载是指在一个类中可以定义多个同名的方法,但这些方法的残念书必须不同,及参数的类型不同,参数的顺序不同,参数的个数不同。这样在调用时,可任意根据传递的参数类型和数量自动确定调用的时那个方法。

(2)当前代码不使用方法重载,分析一下下面的方法有什么缺点

public class Method01 {

    public static void main(String[] args) {
        //调用方法
         sumInt(10,20);
         sumLong(10L,20L);
         sumDouble(10.0,20.0);
    }
    
    public static void sumInt(int a,int b) {
        int c = a + b;
        System.out.println(a + "+" + b + "=" + c);
    }
    
    public static void sumLong(long a,long b) {
        long c = a + b;
        System.out.println(a + "+" + b + "=" + c);
    }
    
    public static void sumDouble(double a,double b) {
        double c = a + b;
        System.out.println(a + "+" + b + "=" + c);
    }

}

结果如下图:

  • 缺点:

    • 不美观

    • 不方便调用,程序员需要记忆许多的方法名

(3)在JAVA 中允不允许在一个类中定义方法时,方法名一致呢答案是 可以的

下面我们来改动一下代码,将方法名统一改写为sum

public class Method01 {

    public static void main(String[] args) {
        //调用方法
         sum(15,20);
         sum(15L,20L);
         sum(15.0,20.0);
    }
    
    public static void sum(int a,int b) {
        int c = a + b;
        System.out.println(a + "+" + b + "=" + c);
    }
    
    public static void sum(long a,long b) {
        long c = a + b;
        System.out.println(a + "+" + b + "=" + c);
    }
    
    public static void sum(double a,double b) {
        double c = a + b;
        System.out.println(a + "+" + b + "=" + c);
    }

}

运行结果如下:

形如以上的形式称之为方法重载

优点:代码美观,易操作,减少了程序员的工作量

(4)一个程序满足什么样的条件时,可以使用方法重载呢

  • 条件1:在同一个类中

  • 条件2:方法名一致

  • 条件3:形式参数列表不同

    • 类型不同

      • public static void m1(String s){}

      • public static void m1(int a){}

    • 顺序不同

      • public static void m1(String s,int a){}

      • public static void m1(int a,String s){}

    • 个数不同

      • public static void m1(){}

      • public static void m1(String s){}

  • 注意:

    • public static void m1(int a,int b){}

    • public static void m1(int x,int y){}

  • 是方法重载吗,不是的,只是变量名不一样,属于方法重复

5)方法重载时编译阶段的机制还是运行阶段的机制?

  • 方法重载时编译阶段的机制

  • 在编译阶段已经而安城了数据的绑定

  • 在编译阶段已经确定了要调用那个方法了

(6)什么情况下我们考虑使用方法重载呢

在一个类中,如果两个方法的功能类似,建议将方法名定义为相同的

  • 假设所有的方法都叫一个名字可以吗? 可以,不建议,非常不建议,反而会起到反作用

如果能帮到你,请留下一个赞好嘛,你的支持是我的动力

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪花条条

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值