覆盖方法时返回类型不一样会出现怎样的情况

gjanyanlig 2010-06-03 09:02:52
RT
...全文
456 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjanyanlig 2010-06-04
  • 打赏
  • 举报
回复
所以唯一可能返回值不一样的就使子类方法返回值是父类方法返回值的子类,其他情况编译错误,就是这个结果,谢谢!
xy_2005 2010-06-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yinjintao 的回复:]
java中方法重写需注意事项
方法重写的一些特性:



1.发生方法重写的两个方法的方法名、参数列表必须完全一致(子类重写父类的方法) ,返回值必须是父类方法返回值的子类(协变返回类型)。


2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)


3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问……
[/Quote]
这个解释得很清楚了
kuruby 2010-06-03
  • 打赏
  • 举报
回复
那不叫覆盖。
  • 打赏
  • 举报
回复
LZ如果用Eclipse或者MyEclipse是这些错误是通不过的
nicememory 2010-06-03
  • 打赏
  • 举报
回复
java中方法重写需注意事项
方法重写的一些特性:



1.发生方法重写的两个方法的方法名、参数列表必须完全一致(子类重写父类的方法) ,返回值必须是父类方法返回值的子类(协变返回类型)。


2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)


3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)

所以唯一可能返回值不一样的就使子类方法返回值是父类方法返回值的子类,其他情况编译错误。
一头头 2010-06-03
  • 打赏
  • 举报
回复
异常~~
micsolaris 2010-06-03
  • 打赏
  • 举报
回复
不允许

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧