java炒冷饭系列02 方法的重写

前言

在Java和其他一些高级面向对象的编程语言中,子类可以继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

若子类中的方法与父类中的某一方法具有相同的方法名,返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

方法重写的一些规则

  1. 发生方法重写的两个方法返回值,方法名,参数列表必须完全一致(子类重写父类的方法)
  2. 子类抛出的异常下不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
  3. 子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
  4. 根据2, 3条可以确定第一条,子类重写父类方法的返回值类型不能大于父类方法的返回值类型,(即是说子类方法的返回值必须和父类方法的返回值相同或是其子类)
    java炒冷饭系列02 方法的重写

总结

方法重写是要注意权限的问题,子类中的权限不能小于父类的权限,当父类的权限为private时,子类无法继承。也就无法产生所谓的重写

参考文献

方法重写:http://baike.baidu.com/link?url=W-523hMb40QivHs9Jdvs-b1sMZsf4qpiRhhXBeXp7HfL-raygud2kDJLfzuFVwAn7NIfYxIRM5AGhg1EztAWerVcw8mWs1mz6cUD5o-UyZdPy-l-szx2Gl-p7P85xgB_