我不确定这个技术术语的确切名称,但请考虑一个接口:
public interface SomeInterface<T> {
public T doSomething();
}
接着是第二个界面:
public interface SomeRelatedInterface<T, D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
是否可以将第二个接口设计为只需要一个泛型参数,并在声明中隐式提取返回类型,以便doSomethingRelated方法实现。虽然这是不合法的,但我想知道是否有其他方法可以实现这一点:
public interface <T> SomeRelatedInterface<D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
编辑(发布赏金时):目前我在这个问题上寻找的是语言需要这种重复的原因。这是迄今为止答案中缺失的内容,以便获得一个被接受的答案。