2011-05-22 30 views
0

如果在抽象基类中有公共/私有方法m1和抽象方法m2,如何使方法m1在子类中实现的方法m2之前执行。 (基本上我试图把在M1一些基本的验证)Java调用方法'不明确'

回答

0

类似这样的:

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

在基础类,你可以把一个方法是你为这个方法API的切入点

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

然后使用mCaller而不是直接拨打m1m2。您还可以更改m1m2方法的可见性。