1
我有一個超類,有一些通用行爲用於下載名爲MySuperclass
的東西。這個類有一個回調接口用於進一步使用有效載荷。在從同一個超類繼承的多個類實現回調接口時發生衝突
public class MySuperclass {
public interface MyDownloadListener{
void onDownload(Object payload);
}
private MyDownloadListener listener;
...
public void download(){
...
listener.onDownloaded(response);
}
}
我派生多個類從MySuperclass
,這裏所說的MySubclassA
和MySubclassB
。
public class MySubclassA extends MySuperclass{
...
}
public class MySubclassB extends MySuperclass{
...
}
當我嘗試在第三個類中使用這兩個子類時發生衝突。我將不得不這樣做
public class MyClass implements MySubclassA.MyDownloadListener, MySubclassB.MyDownloadListener{
...
public void onDownloaded(Object payload){
// here is the conflict
}
}
但這不起作用,因爲我無法區分兩個不同的回調接口。我該如何解決這個問題?
乍一看,我會創建兩個內部類,每個實現一個Call後面的接口,而不是(外部)類本身實現它們。 – Fildor
@Fildor乍一看,這不會在我的情況。 – kaolick
[方法名稱碰撞在接口實現中可能的重複 - Java](http://stackoverflow.com/questions/2598009/method-name-collision-in-interface-implementation-java) – Fildor