I have a superclass with some generic behavior for downloading stuff called MySuperclass
. This class has a callback interface for further use of the payload.
public class MySuperclass {
public interface MyDownloadListener{
void onDownload(Object payload);
}
private MyDownloadListener listener;
...
public void download(){
...
listener.onDownloaded(response);
}
}
I derive multiple classes from MySuperclass
, here called MySubclassA
and MySubclassB
.
public class MySubclassA extends MySuperclass{
...
}
public class MySubclassB extends MySuperclass{
...
}
The conflict occurs when I try to use both subclasses in a third class. I would have to do something like
public class MyClass implements MySubclassA.MyDownloadListener, MySubclassB.MyDownloadListener{
...
public void onDownloaded(Object payload){
// here is the conflict
}
}
but this doesn't work because I can't distinguish between the two different callback interfaces. How can I solve this?