Java 如何实现一个已经参数化并扩展了另外两个接口的接口?

Java 如何实现一个已经参数化并扩展了另外两个接口的接口?,java,interface,Java,Interface,我有三个接口: public interface IAggregable<TElement extends IAggregable<TElement, TResult>, TResult> { TResult aggregate(TResult intermediateResult); } public interface IDeeplyCloneable<TElement extends IDeeplyCloneable<TElement>&

我有三个接口:

public interface IAggregable<TElement extends IAggregable<TElement, TResult>, TResult> {
    TResult aggregate(TResult intermediateResult);
}

public interface IDeeplyCloneable<TElement extends IDeeplyCloneable<TElement>> {
    TElement deepClone();
}

public interface IContainer<TElement extends IAggregable<TElement, TResult> & IDeeplyCloneable<TElement>, TResult> {
    TResult aggregateAllElements();
    TElement cloneElementAtIndex(int index);
}
公共接口可升级{
TResult骨料(TResult intermediateResult);
}
公共接口ideeplyclonable{
远程医疗深度克隆();
}
公共接口IContainer{
TResult aggregateAllements();
TElement cloneElementAtIndex(国际指数);
}
我试着一个接一个地实现最后一个

public class GTZCH<TElement, TResult> implements IContainer<TElement, TResult> {

    public GTZCH() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public TResult aggregateAllElements() {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public TElement cloneElementAtIndex(int index) {
        // TODO Auto-generated method stub
        return null;
    }

}
公共类GTZCH实现IContainer{
公共GTZCH(){
//TODO自动生成的构造函数存根
}
@凌驾
public TResult aggregateAllements(){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共远程通讯CloneElementIndex(国际索引){
//TODO自动生成的方法存根
返回null;
}
}
但我得到一个编译错误:

Bound mismatch: The type TElement is not a valid substitute for the bounded parameter <TElement extends 
 IAggregable<TElement,TResult> & IDeeplyCloneable<TElement>> of the type IContainer<TElement,TResult>
绑定不匹配:类型TElement不是类型IContainer的绑定参数的有效替代品
&
操作符意味着什么在exends部分,我认为应该有一个coma,而不是扩展多个接口


如何以不必使用原始类型的方式实现该接口?

是的,在声明GTZCH时,您应该使用类型约束并定义远程通信的界限(&in):

public class GTZCH<TElement extends IAggregable<TElement,TResult> & IDeeplyCloneable<TElement>, TResult> implements IContainer<TElement, TResult> {
    [...]
}
公共类GTZCH实现IContainer{
[...]
}

它是类型约束中的一个
&
。看见