《Java方法重写问题》想到的

dmlhyjy 2009-06-20 12:09:55

public class A {

public A fun(){
return null;
}
}
public class B extends A{
public B fun(){
return null;
}
}

我用eclipse3.2,jdk是Java(TM)SE Development kit6 Update7,请问各位上面代码又该如何解释呢?
...全文
37 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoumin25157748 2009-06-20
  • 打赏
  • 举报
回复
为什么编译不可以通过啊 我试了一下 好像可以的啊 希望大侠在解释这些是时候把原理给解释一下
knightzhuwei 2009-06-20
  • 打赏
  • 举报
回复
其实去掉第二个public之后编译是可以通过的 这是jdk1.5还是1.6来着之后的新特性 叫啥忘记了
子类的同名函数可以通过返回父类中该函数返回值对象的子类来完成函数的重写 恩 就是这样的
knightzhuwei 2009-06-20
  • 打赏
  • 举报
回复
编译无法通过
xcj0722 2009-06-20
  • 打赏
  • 举报
回复
编译应该没有问题!
C_sdnElf 2009-06-20
  • 打赏
  • 举报
回复
学习了!!!
ZiSheng 2009-06-20
  • 打赏
  • 举报
回复
这个是没有问题的,所谓的协变返回类型,重写的子类的方法的返回值可以是父类方法的返回值的子类
zehochu 2009-06-20
  • 打赏
  • 举报
回复
能通过的,子类重写父类的方法
icesnows 2009-06-20
  • 打赏
  • 举报
回复
又是同样的问题啊,协变返回类型
zhsan12 2009-06-20
  • 打赏
  • 举报
回复
在JAVA类中规定,只允许有一个主类,也就是说写在一个 *.java文件中只能有一个类可以用public 进行修饰
云上飞翔 2009-06-20
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ZiSheng 的回复:]
这个是没有问题的,所谓的协变返回类型,重写的子类的方法的返回值可以是父类方法的返回值的子类
[/Quote]
答:顶这个。说得对。
izard999 2009-06-20
  • 打赏
  • 举报
回复
重写父类方法,返回值可以是父类方法返回值类型或者其子类型都是可以的.! 这个我上课的时候老师讲过的.! 我有篇笔记上面有好多关于override的说明,有这一条..

62,614

社区成员

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

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