Java称之为“不明确地”的方法

时间:2011-05-22 17:49:17

标签: java

如果在抽象基类中有公共/私有方法m1和抽象方法m2,如何在子类中实现的方法m2之前使方法m1执行。 (基本上我是想在m1中进行一些基本的验证)

2 个答案:

答案 0 :(得分:1)

在基类中,您可以将方法作为该方法的API的入口点

 public void mCaller() {
     m1();
     m2();
 }

然后使用mCaller而不是直接调用 m1 m2 。您还可以更改 m1 m2 方法的可见性。

答案 1 :(得分:0)

这样的事情:

public abstract class Base {
    public boolean m1() {
        // validation stuff
    }
    public final void m2() {
        if (m1()) {
            m2Imp();
        }
    }
    protected abstract void m2Imp();
}