我不确定这个术语是什么,但考虑一个界面:
public interface SomeInterface<T> {
public T doSomething();
}
Run Code Online (Sandbox Code Playgroud)
然后是第二个界面:
public interface SomeRelatedInterface<T, D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
Run Code Online (Sandbox Code Playgroud)
是否可以将第二个接口设计为只需要一个泛型参数,然后让doSomethingRelated方法在其声明中隐式提取返回类型.这不合法,但我想知道是否可以通过其他方式完成:
public interface <T> SomeRelatedInterface<D extends SomeInterface<T>> {
public T doSomethingRelated(D relative);
}
Run Code Online (Sandbox Code Playgroud)
编辑(在发布赏金时):此时我在这个问题上寻找的是语言需要这种复制的原因.到目前为止,答案中已经缺少了这一点.
public interface SomeRelatedInterface<T> {
T doSomethingRelated(SomeInterface<T> relative);
}
Run Code Online (Sandbox Code Playgroud)