重载(Overload)和重写(Override)有哪些区别呢?重载的方法能否根据返回类型进行区分呢?

java面试王 Java面经 发布时间:2021-10-28 05:21:02 阅读数:1866 1 Java基础面试(2023年优化版)
下文笔者将讲述重载同重写的区别,及重载的注意事项,如下所示:
方法的重载和重写都是实现多态的方式
两种实现多态的方式不一样:
 重载:是编译时实现的多态
 重写:是运行时实现的多态
 ------------------------------
发生位置不同:
    重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则称之为重载
    重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)
    
    重载对返回类型没有特殊的要求---因为调用者无法知道其返回类型,
	例:
	 float testFun(float i,int j);
	 int   testFun(float i,int j);
	 -------调用时----
	 testFun(1F,2);//调用时,编译器无法区别到底使用的是哪一个方法
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202110/16353697321595.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者