在派生类中调用基类的实现的位置?

时间:2011-07-08 11:07:42

标签: java android

有时,派生类应始终调用基本实现。我应该在子类特定代码之前或之后放置调用语句。例如:

boolean foo(T x) {
    super.foo(x);
    ....blabla...; //< derived calss-specific code
    return true;
}

OR

boolean foo(T x)
{
    ....blabla...; //<  derived calss-specific code
    return super.foo(x);
}

如何针对不同的情况做出正确的决定?

提前致谢。

1 个答案:

答案 0 :(得分:3)

答案取决于超类方法的作用以及子类方法的作用。

如果必须在之前完成超类完成的工作,请先调用super调用。如果超级类完成的工作必须在之后完成,请将超级调用放在之后。如果必须在超类方法之前完成一些工作,之后必须进行一些工作,那么就把它放在两者之间。

如果顺序无关紧要,通常的方法是在开头调用超类方法。