如果在抽象基类中有公共/私有方法m1和抽象方法m2,如何在子类中实现的方法m2之前使方法m1执行。 (基本上我是想在m1中进行一些基本的验证)
答案 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();
}