在看《Thinking in java》的时候,看到子类的方法和父类的方法名字相同,但是返回值类型不同,然后就开始怀疑这属于覆盖吗,到网上找到了答案,分析见接下来的网址:

http://ghostfromheaven.iteye.com/blog/803305

虽然作者也没有给出最后的解释,但我是这样理解的:

重写是不准许父类和子类只是返回值类型不同,而覆盖是准许父类和子类的返回值类型不一样,只不过那个返回值类型要是一种继承关系,比如文章中的process()方法返回值一个是Grain类型,一个是Wheat类型,Grain和Wheat有继承关系,所以可以,而 void类型和int类型不存在这样的关系,所以 不行。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-03-03
  • 2022-12-23
  • 2021-11-18
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-10-11
  • 2022-12-23
  • 2021-11-27
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
相关资源
相似解决方案