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

Ske*_*een 2 java polymorphism

假设我在Java中有3个类,那么super one有一个名为func()的函数,我现在创建一个子类来覆盖它,并且我的子类的子类,现在在我的子子类上工作我将如何调用子类的'func()'和超类?

我尝试了'this'"指针",但是Java'在运行时'修复'它并调用subsub func().

编辑:谢谢大家; 'Skeen回到了绘图板'.

rfe*_*eak 5

您可以做的最好的事情是在子类中调用super.func(),并在子类中使用func()实现也调用super.func().

但是,问问自己,如果我不仅需要知道我父母的实施知识,还需要我祖父母的实施知识,我是否有设计问题?坦率地说,这是扼杀我的"冰箱里的东西臭"的本能.您需要重新评估为什么要这样做.

  • @skeen只是因为C++允许你自己开枪,并不意味着java'让你失望':)P它只是强制执行一个基本的继承模型.如果继承不适用于超类的每个行为,也许您应该考虑封装策略. (4认同)