Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从无关方法调用超级方法_Java_Oop_Inheritance_Super - Fatal编程技术网

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几乎不使用枚举。是的,这是一个有点模糊的特性,但没有理由不使用枚举。可能有一些角落的情况下,这实际上是有用的。