社区
Java SE
帖子详情
覆盖方法时返回类型不一样会出现怎样的情况
gjanyanlig
2010-06-03 09:02:52
RT
...全文
456
7
打赏
收藏
覆盖方法时返回类型不一样会出现怎样的情况
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gjanyanlig
2010-06-04
打赏
举报
回复
所以唯一可能返回值不一样的就使子类方法返回值是父类方法返回值的子类,其他情况编译错误,就是这个结果,谢谢!
xy_2005
2010-06-03
打赏
举报
回复
[Quote=引用 3 楼 yinjintao 的回复:]
java中方法重写需注意事项
方法重写的一些特性:
1.发生方法重写的两个方法的方法名、参数列表必须完全一致(子类重写父类的方法) ,返回值必须是父类方法返回值的子类(协变返回类型)。
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问……
[/Quote]
这个解释得很清楚了
kuruby
2010-06-03
打赏
举报
回复
那不叫覆盖。
buzaibeishang4617016
2010-06-03
打赏
举报
回复
LZ如果用Eclipse或者MyEclipse是这些错误是通不过的
nicememory
2010-06-03
打赏
举报
回复
java中方法重写需注意事项
方法重写的一些特性:
1.发生方法重写的两个方法的方法名、参数列表必须完全一致(子类重写父类的方法) ,返回值必须是父类方法返回值的子类(协变返回类型)。
2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
所以唯一可能返回值不一样的就使子类方法返回值是父类方法返回值的子类,其他情况编译错误。
一头头
2010-06-03
打赏
举报
回复
异常~~
micsolaris
2010-06-03
打赏
举报
回复
不允许
如果子类中的一个
方法
具有和它父类中的
方法
完全相同的
方法
签名,但
返回
类型
不相同,这
会
存在问题吗?
** 如果子类中的一个
方法
具有和它父类中的
方法
完全相同的
方法
签名,但
返回
类型
不相同,这
会
存在问题吗? ** 在学习java继承的过程中遇到了这个问题: 遇到问题,实践是解决问题的一条捷径,将问题代码化: public class Super { public int get8() { return 8; } } public class Sub extends Super{ publi...
Java中
方法
覆盖
Java中
方法
覆盖
方法
覆盖
: 如果子类中定义一个
方法
,其名称、
返回
类型
及参数签名正好与父类中某个
方法
的名称、
返回
类型
及参数签名相匹配,那么可以说,子类的
方法
覆盖
了父类的
方法
代码: 父类 public class Figure { double dim1; double dim2; public Figure() { } public Figure(double a,double...
java 重载的
返回
类型
_java
方法
的重载与
覆盖
的
返回
值
类型
转
首先看一段程序:package testOverLoadandoverRide;public class A extends B{//下面的是
方法
的
覆盖
(overRiding)public void riding(){System.out.println("this is overRiding ");}//下面两个函数是
方法
的重载(overLoading),但是
返回
值
类型
不同,可以运行publi...
JAVA中的
方法
覆盖
与其创建用于喵喵叫的catSpeak()
方法
,为嘶嘶声的snakeSpeak()
方法
等,我们想调用speak()
方法
,并有蛇嘶嘶声、猫喵喵叫和狗吠叫。我们可以构建一个简单且合乎逻辑的类系统,每个类都有特定的行为(狗叫,猫喵喵叫),有一个共同的接口——一个单一的speak()
方法
,而不是大量的
方法
,例如dogSpeak()、speakCat()等。“这是未来的一个小生活小窍门:要
覆盖
父类的
方法
,请转到IntelliJ IDE中的子类代码,单击Ctrl+O,然后在菜单中选择“
覆盖
方法
...”。
方法
的
覆盖
和重载有什么区别
重载与
覆盖
的区别 1、
方法
的
覆盖
是子类和父类之间的关系,是垂直关系;
方法
的重载是同一个类中
方法
之间的关系,是水平关系 2、
覆盖
只能由一个
方法
,或只能由一对
方法
产生关系;
方法
的重载是多个
方法
之间的关系 3、
覆盖
要求参数列表相同;重载要求参数列表不同 4、
覆盖
关系中,调用那个
方法
体,是根据对象的
类型
(对象对应存储空间
类型
)来决定;重载关系,是根据调用
时
的实参表与形参表来选择
方法
体的 override可以翻译为
覆盖
,从字面就可以知道,它是
覆盖
了一个
方法
并且对其重写,以求达到不同的作用。对我们来说最熟悉的
覆盖
就是对
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章