gpt4 book ai didi

java - 多级继承中调用哪个版本的方法?

转载 作者:行者123 更新时间:2023-12-02 08:16:01 28 4
gpt4 key购买 nike

情况:假设我有一个类 A、一个扩展 A 的类 B 和一个扩展 B 的类 C。类 A 有一个方法 hello(),该方法在类 B 中被重写。

事件:现在类 C 调用 hello()。

问题:将调用哪个版本?我猜它将属于层次结构中上面的类,即 B。无论如何,如何从 访问 hello() 的不同版本C?

相关问题:通过使用 super,我们可以访问层次结构中上方的版本,但是如何访问层次结构中更高的版本呢?例如,如何从C访问A的hello()?

最佳答案

你不能。只有B中的代码可以使用super调用A.hello();如果A、B和C都实现hello(),则C中的任何代码都无法访问A.hello()

一般来说,任何类中的代码都可以调用自己的方法版本及其直接父类(super class)的版本,仅此而已。如果没有父类(super class)的配合,就无法调用任何其他类。

关于java - 多级继承中调用哪个版本的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6434168/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com