Java 语言中方法重写的本质?

 我来答
美妤宠01
2022-12-08 · 超过26用户采纳过TA的回答
知道答主
回答量:225
采纳率:100%
帮助的人:4.1万
展开全部

1、在编译阶段,编译器只知道对象的静态类型,而不知道实际类型,因此只能在class文件中确定调用父类的方法。

2、在执行过程中,它将判断对象的实际类型。如果实际类型实现了这种方法,它将被直接调用。如果没有实现,它将根据继承关系从下到上进行检索。只要检索到,它将被调用。如果没有检索到,它将被抛弃。

例如下面代码中,Dog类是Animal类的子类,Dog类就重写了Animal类的 eat() 方法,当调用Dog类的 eat() 方法时,控制台会打印 eating bread...

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式