java学习

方法重载

什么是方法重载?

方法重载是在同一个类中,定义了多个同名方法,但每个方法具有不同参数类型,参数个数,参数的顺序不同,这些同名的方法构成了方法的重载。

例如:

public static void print(){
    System.out.println("Hello World!");
}

public static void print(String str){
    System.out.println(str);
}

上述两个方法由于方法的参数数量不同构成方法重载。

方法重载只和方法名和参数有关,与方法的关键字和返回值无关。

例如一个方法的方法名和参数相同,只改变方法的返回值类型或者关键字,那么对于系统而言这两个方法不构成重载。

public static void print(){
    System.out.println("Hello World!");
}

public static void print(){
    System.out.println("Hello World!");
}

 错误就是对方法进行重定义,这就说明改变public关键字,是否去掉static关键字和改变返回值类型都不能构成方法重载。对于方法重载而言,它可以根据方法中参数的不同精确的匹配到我们想要调用的方法。

知道了方法的定义后,剩下就是对方法重载的使用了。

例如:计算圆形和长方法形的面积。

分析:由于圆的面积公式中只需要有一个参数,而长方形的面积公式中需要两个参数,但又因为方法需要计算的都是面积,所以使用方法重载更好。

public class Test4 {
    public static void main(String[] args) {
        jisuan(3);
        jisuan(3,4);

    }
    public static void jisuan(double a) {
        System.out.println("圆的面积:"+(a*3.14));
    }
    public static void jisuan(double a,double b) {
        System.out.println("长方形的面积:"+(a*b));
    }
}

 如果只是两个方法大可把另一个方法的名字更改一下,毕竟例题只有两个方法也不是很难记。

但如果我们去看java的源码可以发现,Java源码使用了大量的方法重载。

例如Java源码中的println()方法:

为什么我们在调用println()方法时无论往里面传入什么值或者不传值都不会报错呢?

这时候我们就可一看看Java的源码是怎么定义这个println()方法的了。(以下为源码的方法的部分截图)

 

 

 

 通过对源码的了解,我们直到了println()方法使用了方法重载,包括无参,八大基本数据类型的参数,引用数据类型,甚至包含了Object类型的参数,基本把所有的情况都包含在内了。这时候如果没有使用方法重载的话,那么光是记住这些名字都不是一件容易的事。

所以这个就必须说方法重载的好处了:

不用为了对不同的参数类型或参数个数,而写多个方法,系统可以根据方法中的参数不同进行自动匹配;

这样我们在调用的时候,就不需要记那么多的方法名称,对编写代码的效率也会提高。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值