Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多个泛型边界的Java接口继承_Java_Generics_Inheritance_Interface_Multiple Inheritance - Fatal编程技术网

具有多个泛型边界的Java接口继承

具有多个泛型边界的Java接口继承,java,generics,inheritance,interface,multiple-inheritance,Java,Generics,Inheritance,Interface,Multiple Inheritance,我有几节课 public interface Identity<I> { public I getId(); } public interface Position<T,I> { public I getId(); public T getData(); public int getX(); public int getY(); }

我有几节课

    public interface Identity<I> {
        public I getId();
    }

    public interface Position<T,I> {        
        public I getId();
        public T getData();
        public int getX();  
        public int getY();
    }

    public interface SpartialIndex<T,I extends Position<T,I>> {

        public void add(T t);
        public void addAll(SpartialIndex<T,I> index);
        //
        public void remove(T t);
        public void removeAll(SpartialIndex<T,I> index);
        //
        public int size();
        //
        public SpartialIndex<T,I> getRectangle(int left,int top,int right,int bottom);
        public SpartialIndex<T,I> getCircle(int centerX,int centerY,int radius);
        //
        public void translate(SpartialIndex<T,I> index,int translateX,int translateY);

        public List<T> getClosests(int x,int y);

        public List<T> get(I id);

    }
公共接口标识{
公共I getId();
}
公共接口位置{
公共I getId();
公共T getData();
公共int getX();
公共int getY();
}
公共接口SpartialIndex{
公共无效添加(T);
公共无效addAll(SpartialIndex指数);
//
公共空间移除(T);
公共空间移除(SpartialIndex指数);
//
公共整数大小();
//
公共SpartialIndex getRectangle(int left、int top、int right、int bottom);
公共SpartialIndex getCircle(整数中心x、整数中心y、整数半径);
//
公共void translate(SpartialIndex索引、int-translateX、int-translateY);
公共列表getClosests(intx,inty);
公共列表获取(I id);
}
但是当我试图创建一个默认实现时,我似乎无法让泛型工作。我不会用这条消息编译

绑定不匹配:类型I不是绑定类型的有效替换 SpartialIndex类型的参数

公共类DefaultSpartialIndex实现SpartialIndex{
public DefaultSpartialIndex(){
超级();
}
@凌驾
公共void add(T){}
@凌驾
公共void addAll(SpartialIndex索引){}
@凌驾
公共无效删除(T){}
@凌驾
公共void removeAll(SpartialIndex索引){}
@凌驾
公共整数大小(){
返回0;
}
@凌驾
公共SpartialIndex getRectangle(左整数、上整数、右整数、下整数){
返回null;
}
@凌驾
公共SpartialIndex getCircle(int centerX,int centerY,int radius){
返回null;
}
@凌驾
公共void translate(SpartialIndex索引,int-translateX,int-translateY){}
@凌驾
公共列表getClosests(intx,inty){
返回null;
}
@凌驾
公共列表获取(I id){
返回null;
}
}
只是一个打字错误

替换:

public interface SpartialIndex<T,I extends Position<T,I>> 
公共接口SpartialIndex
作者:

公共接口SpartialIndex扩展位置
只是一个打字错误

替换:

public interface SpartialIndex<T,I extends Position<T,I>> 
公共接口SpartialIndex
作者:

公共接口SpartialIndex扩展位置
public interface SpartialIndex<T,I> extends Position<T,I>