Day05_26_Overide_方法重写

Overide_方法重写

* 什么是方法重写(Overide)?
    
     - 方法重写也叫方法覆盖 ,重写是指子类对父类所允许访问的方法的实现过程进行重新编写, 返回值类型和形参都不能改变。即外壳不变,核心重写!


* 方法重写需要注意:
     
      - 必须存在继承关系,才能使用方法重写。

      - 进行方法重写时,需要保证:1.方法名相同 2.返回值类型相同  3.形参列表相同
  
      - 重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法

      - 访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为 public,那么在子类中重写该方法就不能声明为 protected。

      - 父类的成员方法只能被它的子类重写。

      - 声明为 final 的方法不能被重写。

      - 声明为 static 的方法不能被重写,但是能够被再次声明。

      - 子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为 private 和 final 的方法。

      - 子类和父类不在同一个包中,那么子类只能够重写父类的声明为 public 和 protected 的非 final 方法。

      - 重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
      
      - 重写的方法所抛出的异常范围不能大于父类方法的异常范围。

      - 构造方法不能被重写。 
  • 什么时候使用方法重写?

    - 当父类中的方法已经无法满足子类的业务需求的时候,子类就必须将父类中继过来的方法进行重新编写,这个重写的过程称为  方法重写/方法覆盖。
    
posted @ 2021-03-29 22:32  失昼  阅读(131)  评论(0)    收藏  举报