我有一些内容,由这个接口生成:
public interface Content {
void addListener(ContentListener<?> listener);
}
喜欢GenericContent
:
public interface GenericContent extends Content {
@Override
void addListener(GenericContentListener listener);
}
这些是ContentListener
和GenericContentListener
public interface ContentListener<T extends Content> {
void ping(T content);
}
public interface GenericContentListener extends ContentListener<GenericContent>
{
}
我的问题是方法addListener
intoGenericContent
是一个双重错误:
addListener(ContentListener<GenericContent>)
类型的方法GenericContent
必须覆盖或实现超类型方法名称冲突:类型的方法
addListener(ContentListener<GenericContent>)
与类型GenericContent
具有相同的擦除addListener(ContentListener<?>)
但Content
不覆盖它
如何使用不同的技术获得相同的效果?