具有多个泛型边界的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>