Java 从无关方法调用超级方法
今天我意识到调用Java 从无关方法调用超级方法,java,oop,inheritance,super,Java,Oop,Inheritance,Super,今天我意识到调用super.foo()不仅可以在重写的foo方法中进行,还可以在完全不相关的方法中进行: class Base { void foo() { } } class Derived extends Base { void foo() { } void bar() { super.foo(); } } 是否存在任何实际场景、设计模式或任何实际有用的地方?当子类希望为方法提供比父类更有意
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我在寻找具体的现实场景。我不知道……像这样的东西……jsut因为java有它并不意味着它有用。。。java几乎不使用枚举。是的,这是一个有点模糊的特性,但没有理由不使用枚举。可能有一些角落的情况下,这实际上是有用的。