java - super . super .func()? - Java多态性

标签 java polymorphism

假设我在Java中有3个类,其中 super 类有一个名为func()的函数,我现在创建一个覆盖它的子类,以及我的子类的子类,现在正在处理我的子子类如何我会调用子类和父类(super class)的“func()”吗?

我尝试转换“this”“指针”,但 Java 在运行时“修复”它并调用 subsub func()。

编辑: 感谢大家; “斯基恩又回到了绘图板上”。

最佳答案

你能做的最好的事情就是在子类中调用 super.func() ,并让子类中的 func() 实现也调用 super.func() 。

但是,问问自己,如果我不仅需要了解我 parent 的实现,还需要了解我祖 parent 的实现,我是否存在设计问题?坦率地说,这违背了我“冰箱里有东西发臭”的本能。您需要重新评估为什么要这样做。

关于java - super . super .func()? - Java多态性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4726833/

相关文章:

c++ - 为什么 template<typename T> 在 C++ 中评估为 Foo 而不是 Bar

ruby-on-rails - 反向多态关联

java - `Cannot find symbol` 当尝试访问子类的属性但变量是父类(super class)类型时

arrays - 从类数组创建实例

java - 非迭代合并排序算法的合并异常

java - 文件创建在 Java 中是如何工作的

java - 搜索 API Elasticsearch 索引

java - 选择文件路径未在android studio中转换为文件

java - NetBeans 7.4 无法获取系统 Java 编译器。请使用 JDK,而不是 JRE

refactoring - 用多态替换条件 - 理论上很好但不实用