Java继承中 为什么这种情况调用的是子类的方法(如图)

发布于 2022-09-05 08:18:50 字数 126 浏览 26 评论 0

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

ゞ记忆︶ㄣ 2022-09-12 08:18:50

public void a(){
     b();
}
等效于
public void a(){
     this.b();//你要清楚此处的this是指的是调用者!!!!
}

溺渁∝ 2022-09-12 08:18:50

你在子类中重写了父类的方法。加@override有利于在编译期间就检查父类是否有该方法,所以如果是重写,最好写上@override。

浮生面具三千个 2022-09-12 08:18:50

创建子类的对象, 在调用方法时,
如果子类没有重写, 调用父类方法;
子类已重写, 调用子类.
原则上是 先从本类中找方法, 然后一层一层往上找.

ヅ她的身影、若隐若现 2022-09-12 08:18:50

你实际new出来的是Child,而不是Parent。简单的说明就是,从实际对象开始,一层一层往上找,找到的第一个就是要调用的方法。

淡淡の花香 2022-09-12 08:18:50

Core Java 基本概念

開玄 2022-09-12 08:18:50

你的子類重寫了父類的b()方法,因此子類調用的是自己重寫的方法,沒有被重寫的方法則繼承父類的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文