重构(Refactoring)就是通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性,系统发展到一定阶段后,使用重构的方式,不改变系统的外部功能,只对内部的结构进行重新的整理。通过重构,不断的调整系统的结构,使系统对于需求的变更始终具有较强的适应能力。
重写(覆盖):发生在同一类中,子类中两父类的成员方法名保留,重写方法实现内容,更改方法存储权限,或者修改返回类型,注意重写的时候修改权限,只能由小到大改。
重写规则:
1.参数列表和重写的完全一致;
2.返回值类型相同;
3.访问修饰符的限制一定要大于被重写方法的访问修饰符(public>protected>default>private)
4.如果抛出异常,重写的方法只能抛出子类异常。
重载:发生在父子类中,方法的重载主要是起源于构造方法中,由于构造方法名都是根据类名起的,为了让方法名相同,形参不同的得构造方法存在,就用到了重载。当然也可以用到其他方法中。
重载规则:
1、必须具有不同的参数列表;
2、可以有不同的返回类型,但是参数列表要不同;
3、可以有不同的访问修饰符;
4、可以抛出不同的异常。
我认为,重写和重载起到了精简代码的作用,并且,使得类的代码结构清晰,起到了多态的作用。