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

教育 网编 2023-04-09 16:51 173 0

GenericQueue正在实现 raw 接口IGenericQueue,因此它TTin 有所不同IGenericQueue<T>implements子句中添加:

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

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

解决方法

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

评论区