I have this Java code:
public interface User{
public void in(Message message);
}
public interface Message{
//....
}
public interface WebsiteMessage extends Message{
//....
}
public class WesiteUser implements User{
@Override
//I'm not allowed to do this
public void in(WebsiteMessage message){}
}
Is there a way I can implement the in method with WebsiteMessage parameter?
For the moment I'm doing something like this:
@Override
public void in(Message message){
WebsiteMessage msg= (WebsiteMessage) message;
//..
}
User?UserI don't see any simple solution. However, I think that your current design is flawed if you need aWebsiteMessage(instead ofMessage) inWebsiteUser. It indicates that your interface is leaky and I'll start by reworkingMessageso that everyUser's implementations can work with aMessage.