父子类方法调用

ctksbaby1 2011-04-25 09:55:45
当使用多态方式调用子类的方法时:Person p = new Men();P.sing()
首先检查父类中是否有 sing()方法, 如果没有则编译错误;如果父类有,则再去调用子类的sing方法?这句话对吗?可以解释下么?
...全文
113 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragon_java_li 2011-04-25
  • 打赏
  • 举报
回复
说的不完全对,如果子类中没有重写此方法,则调用父类的方法,如果子类重写了,则调用子类的sing()方法
dong_very_good 2011-04-25
  • 打赏
  • 举报
回复
一楼说的很对,你可以参考一下。
若鱼1919 2011-04-25
  • 打赏
  • 举报
回复
不要死记硬背,要搞明白:运行时动态绑定,就ok了。
步入狼途 2011-04-25
  • 打赏
  • 举报
回复
如果父类有,子类没有,则子类继承父类的方法。
如果父类有,子类也有,则子类的方法覆盖父类的。这时候调用子类的 可有用this.XXX。调用父类的可以用super.XXX。
如果父类没有,子类有,则是子类自己的方法,跟父类没关系。

子类向父类转换,只能使用父类存在的方法。
子类独有的方法则丢失。

ps:个人见解。详细解析参考《java编程思想》……

62,623

社区成员

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

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