接口和一个类。名称冲突:相同的擦除,但没有一个覆盖其他

我有一个接口,当我尝试实现其方法之一时,出现以下错误:“名称冲突: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,因此它TTin

有所不同IGenericQueue<T>implements子句中添加:

public class GenericQueue<T extends Comparable> implements IGenericQueue<T> {

// ^^^

所以您要使用相同的实现通用接口T

以上是 接口和一个类。名称冲突:相同的擦除,但没有一个覆盖其他 的全部内容, 来源链接: utcz.com/qa/416737.html

回到顶部