I need to have a variable in a class which is an instance of class "ClassA" but which also implements interface "InterfaceI".
Obviously this can be done for one or the other easily:
private ClassA mVariable;
private InterfaceI mVaraible;
but how can I enforce the object both extends ClassA and implements InterfaceB? Something like:
private <? extends ClassA & InterfaceI> mVaraible;
is what I need but I have no idea of the syntax or if it is even possible. I will also need a get and set method, but that can be done with generics (I think?)
The obvious solution is
public class ClassB extends ClassA implements InterfaceI{
//whatever here
}
However both InterfaceI and ClassA are part of an external libary, this libary has classes which extend ClassA and InterfaceI and I cant edit them to make them extend ClassB, therefore this solution will not work.