方法重载和重写是不同的概念,主要有以下区别:
1、首先是含义不同
1)方法重载是在同一个类中,声明多个同名方法,通过参数列表来区分不同的方法,与参数列表的数量、类型和顺序有关,与修饰符和返回值类型以及抛出异常类型无关
2)方法重写的前提是发生在具有继承关系的两个类之间,方法重写有以下规则:
a.参数列表必须保持一致
b.返回值类型必须保持一致
c.方法名必须保持一致
d.重写方法的访问权限范围必须大于等于父类方法
e.重写方法的抛出异常类型范围不能大于父类方法
2、方法的重载和重写的作用不同
重载:在一个类中为一种行为提供多种实现方式并提高可读性
重写:父类方法无法满足子类的要求,子类通过方法重写满足需求
实例:
重载:构造方法的重载、println()方法重载
重写:Object类的toString()、equals()、hashCode()等都可以被子类重写
用图表表示如下: