问答详情
源自:9-2 Java 中的方法重写

为什么我改了返回值类型并没有报错

package project03;


public class Father {

 public int age;

 public String surname;

 public int mony;

  public void power() {

  System.out.println("制定未来!!");

  }

 

package project03;


public class Son extends Father {

public int power(int a ) {

a = 1;

return a;

  //System.out.println("制定未来!!");

  }

}

 

}


提问者:慕斯3338728 2018-12-04 21:57

个回答

  • 慕标2096010
    2018-12-05 15:40:33
    已采纳

    这可能是构成了重载的情况,系统将其认定为两个不同的方法,一个有参,一个无参,所以没报错


  • 程程程程程序员
    2018-12-05 19:10:53

    你这是重载的问题  不知道是不是你自己写错的原因  你这是一个类中再定义了一个内部类类  

    (1)重载是在同一个类中,重写是子类与父类中

    (2)重载与重写都要求方法的名称完全一致

    (3)重载要求参数列表必须不同,重写要求参数列表必须相同

    (4)重载和返回值类型无关,重写有很严格的要求