使用一个包含抽象类 A
和接口 I
和 J
的库时,当我扩展/实现这些类和接口时,我会得到以下警告信息:
缺少泛型类 J<T> 的类型参数。
作为一个最小工作示例,如下所示(其中 T 和 S 是泛型类型参数):
public abstract class A {}
public interface I<T extends A> {
public <S extends T> void doStuff(J<? super S> param);
}
public interface J<T extends A> {
public void doOtherStuff();
}
这里是我的类:
public class AExtended extends A {}
public class IImplemented implements I<AExtended> {
@Override
public void doStuff(J param) {}
}
如下显式地使用类 AExtended
,并没有正确实现 I
接口中的 doStuff() 方法:
public class IImplemented implements I<AExtended> {
@Override
public void doStuff(J<AExtended> param) {}
}