方法重载和方法重写(覆盖)的区别


方法重载和重写是不同的概念,主要有以下区别:

1、首先是含义不同

1)方法重载是在同一个类中,声明多个同名方法,通过参数列表来区分不同的方法,与参数列表的数量、类型和顺序有关,与修饰符和返回值类型以及抛出异常类型无关

2)方法重写的前提是发生在具有继承关系的两个类之间,方法重写有以下规则:

a.参数列表必须保持一致

b.返回值类型必须保持一致

c.方法名必须保持一致

d.重写方法的访问权限范围必须大于等于父类方法

e.重写方法的抛出异常类型范围不能大于父类方法

2、方法的重载和重写的作用不同

重载:在一个类中为一种行为提供多种实现方式并提高可读性

重写:父类方法无法满足子类的要求,子类通过方法重写满足需求

实例:

重载:构造方法的重载、println()方法重载

重写:Object类的toString()、equals()、hashCode()等都可以被子类重写

用图表表示如下:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM