栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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类型的参数,基本把所有的情况都包含在内了。这时候如果没有使用方法重载的话,那么光是记住这些名字都不是一件容易的事。

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007817.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号