我有这段 Java 代码:
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){}
}
有没有办法用 WebsiteMessage 参数实现 in
方法?
目前我正在做这样的事情:
@Override
public void in(Message message){
WebsiteMessage msg= (WebsiteMessage) message;
//..
}
最佳答案
您可以使用 bounded type parameter 来做到这一点:
public interface User<M extends Message> {
public void in(M message);
}
public class WebsiteUser implements User<WebsiteMessage> {
@Override
public void in(WebsiteMessage message) {}
}
关于java - 使用扩展接口(interface)参数实现方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38991103/