基本介绍

简单的说:方法覆盖(重写)就是子类有一个方法,和父类的某个方法的名称、返回类型、参数一样,那么我们就说子类的这个方法覆盖了父类的那个方法。

  1. class Animal{
  2. public void cry(){
  3. System.out.println("动物叫唤")
  4. }
  5. }
  6. class Dog extends Animal{
  7. public void cry(){
  8. System.out.println("小狗汪汪叫")
  9. }
  10. }
  11. //以上代表部分 DOG类继承了Animal类,且重写了方法cry()。

方法重写也叫方法覆盖,需要满足下面的条件
1.子类的方法的参数,方法名称,要和父类方法的参数,方法名完全一样。
2.子类方法的返回类型和父类方法返回类型一样,或者是父类返回类型的子类 。
比如 父类返回类型是Object,
子类方法返回类型是String。
父类:public Object getInfo(){
子类:public String getInfo(){
父类的返回类型为Object,子类的返回类型为String。 String类型是Object类的子类,所以符合红色语句。

3.子类方法不能缩小父类方法的访问权限