重写(Override)与重载(Overload)
一 概述
1.什么是重载?
利用形参区分同一个类中多个同名方法的机制叫做重载。
2.什么是重写?
子类继承父类,重写父类方法的过程叫做重写。
二 对比
1.发生范围
重写发生在父类与子类之间,涉及两个类,重载发生在同一个类内部。
2.约束
重写
- 子类在重写父类方法时返回值必须是父类方法返回值的子类。
- 不能降低父类的访问权限,即假如父类方法的访问权限是protected,子类在重写方法时不能修改为private。
- 抛出的异常必须是父类异常的子类。
- 静态方法不能被重写。
- final类型的方法不能被重写。
重载
重载正是根据方法的形参来区分同名的方法,所以同名方法间形参不能完全相同,参数类型与个数完全相同,顺序不同,属于不同形参。
不能仅仅停滞在实现上,应该去追求代价更小、性能更优的实现