泛型方法的重写

painforever 2008-10-12 11:45:51
1)class Parent {    
<T> void say() { }} class Child extends Parent { void say() { }}


class Parent {    void say() {    }} class Child extends Parent {    <T> void say() {    }}


3)class Parent {    void say(Number number) {    }} class Child extends Parent {    <T extends Number> void say(T number) {    }}


编译的结果是
Code1: No Compile Error
Code2: Compile Error
Code3: Compile Error
请问这是为什么。。。
...全文
287 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
painforever 2008-10-15
  • 打赏
  • 举报
回复
多谢老紫竹!!!
老紫竹 2008-10-15
  • 打赏
  • 举报
回复
更正一下:如果父类没有泛型,则子类同样不能有

反向不成立。父类有泛型,子类可以不用泛型,或者使用泛型的子类
老紫竹 2008-10-15
  • 打赏
  • 举报
回复
都是同样的问题。
你的子类覆盖了父类的方法,但可惜他的父类并没有泛型,所以你的子类不能那样用。

如果父类没有泛型,则子类同样不能有


否则就不要覆盖Override
painforever 2008-10-13
  • 打赏
  • 举报
回复
code 1 和code 2有什么区别呢?我觉得都是正确的重写啊.对于code 3,我觉得应该是重载吧,不知道对不对?
painforever 2008-10-13
  • 打赏
  • 举报
回复
另外,我可以根据new的是子类还是父类对象找对应的方法么?ZangXT说说啊接着,不明白呢。。。
ZangXT 2008-10-12
  • 打赏
  • 举报
回复
如果让你判断,你有办法区分实际调用的是哪个方法吗?

50,526

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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