【发布时间】:2014-04-22 18:35:29
【问题描述】:
今天我意识到调用super.foo() 不仅可以在覆盖的foo 方法中,而且可以在完全不相关的方法中:
class Base
{
void foo()
{
}
}
class Derived extends Base
{
void foo()
{
}
void bar()
{
super.foo();
}
}
是否有任何现实世界的场景、设计模式或其他任何真正有用的地方?
【问题讨论】:
-
你的意思是你想在哪里混合
foo和super.foo?因为否则你应该在 foo 中执行 super,然后调用foo。这条评论里的 foo 太多了?可能。 -
有时你只是不喜欢你实现 foo 的方式,但你喜欢你父母的做法。
-
@LoganMurphy 我正在寻找具体的、具体的、真实的场景。
-
我不知道...像这样pastebin.com/G4CBpgD6 ...jsut 因为java有它并不意味着它有用...java也几乎不使用枚举。
-
是的,它有点不起眼,但没有理由不应该存在。可能存在一些实际有用的极端情况。
标签: java oop inheritance super