接口和一个类。名称冲突:相同的擦除,但没有一个覆盖其他
我有一个接口,当我尝试实现其方法之一时,出现以下错误:“名称冲突:GenericQueue中的enqueue(T#1)和IGenericQueue中的enqueue(T#2)具有相同的擦除,但是没有覆盖T#1,T#2是类型变量的另一个:T#1扩展了在类GenericQueue中声明的Comparable
T#2扩展了在接口IGenericQueue中声明的Comparable,这是代码:
public interface IGenericQueue <T extends Comparable> {public void enqueue(T j);
..
}
public class GenericQueue<T extends Comparable> implements IGenericQueue {
....
public void enqueue(T j) // the error is in this line.
{
if(rear == maxSize -1)
rear = -1; // means you have reached the last element start again ?
queArray[++rear] = j;
nItems ++ ;
}
}
回答:
您GenericQueue
正在实现 raw 接口IGenericQueue
,因此它T
与T
in
有所不同IGenericQueue
。<T>
在implements
子句中添加:
public class GenericQueue<T extends Comparable> implements IGenericQueue<T> {// ^^^
所以您要使用相同的实现通用接口T
。
以上是 接口和一个类。名称冲突:相同的擦除,但没有一个覆盖其他 的全部内容, 来源链接: utcz.com/qa/416737.html