今天我意识到调用super.foo()
不仅可以在覆盖的foo
方法中进行,而且可以在完全不相关的方法中进行调用:
class Base
{
void foo()
{
}
}
class Derived extends Base
{
void foo()
{
}
void bar()
{
super.foo();
}
}
是否有任何真实场景,设计模式或其他任何实际有用的场景?
答案 0 :(得分:2)
当子类想要为方法提供比父类更有意义的名称,或者在方法名称中提供有关操作的其他信息时,这将非常有用。