访问祖先方法和父方法的正确(Java)约定?

发布于 2024-10-20 19:38:43 字数 406 浏览 0 评论 0原文

从继承链访问祖先和父方法的正确约定是什么?

例如,methodA() 驻留在基祖先类中,methodB() 驻留在父类中。如果我所在的子类/子类扩展了父类(而父类又扩展了祖先/基类),那么访问 methodA() 的正确方法是什么?

显然 super.super.methodA() 是不允许的。

有效的是 super.methodA()this.methodA() 以及简单地调用 methodA() 本身。

上述三种情况中哪一种是调用位于祖先类中的 methodA() 的“正确”方法?

What's the proper convention to access ancestor and parent methods from down an inheritance chain?

For example, methodA() resides in the base ancestor class and methodB() resides in the parent class. If I'm in a child/subclass that extends parent (which in turn extended the ancestor/base class), what is the proper way to access methodA()?

Obviously super.super.methodA() is not allowed.

What does work is super.methodA(), this.methodA() and simply calling methodA() on it's own.

Which of the above three cases is the 'correct' way to call methodA() that resides in the ancestor class?

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

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

发布评论

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

评论(2

じее 2024-10-27 19:38:43

如果 methodA() 仅在祖父类中定义,并且未在父类或子类中重写,则只需调用 methodA() code> 在子类中会正确调用继承的方法。

If methodA() is defined only in the grandparent class, and isn't overridden in the parent class or child class, then simply calling methodA() in the child class will correctly call the inherited method.

徒留西风 2024-10-27 19:38:43

不允许访问类的祖父母方法。请参阅 为什么是 super.super.method(); Java 中不允许? 形成更多信息。

Accessing a classes grandparent methods is not allowed. See Why is super.super.method(); not allowed in Java? form more information.

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