0
如果在抽象基類中有公共/私有方法m1和抽象方法m2,如何使方法m1在子類中實現的方法m2之前執行。 (基本上我試圖把在M1一些基本的驗證)Java調用方法'不明確'
如果在抽象基類中有公共/私有方法m1和抽象方法m2,如何使方法m1在子類中實現的方法m2之前執行。 (基本上我試圖把在M1一些基本的驗證)Java調用方法'不明確'
類似這樣的:
public abstract class Base {
public boolean m1() {
// validation stuff
}
public final void m2() {
if (m1()) {
m2Imp();
}
}
protected abstract void m2Imp();
}
在基礎類,你可以把一個方法是你爲這個方法API的切入點:
public void mCaller() {
m1();
m2();
}
然後使用mCaller
而不是直接撥打m1和m2。您還可以更改m1和m2方法的可見性。