界面和一个类.名称冲突:相同的擦除,但都不会覆盖其他

Nou*_*our 41 java

我有一个接口,当我尝试实现其中一个方法时,我得到这个错误:GenericQueue中的"name clash:enqueue(T#1)"和IGenericQueue中的enqueue(T#2)具有相同的擦除,但都没有覆盖T#1,T#2是类型变量的另一个:T#1 extends类GenericQueue中声明的Comparable T#2 extends在接口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 ++ ;
}
}
Run Code Online (Sandbox Code Playgroud)

rge*_*man 65

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

public class GenericQueue<T extends Comparable> implements IGenericQueue<T> {
//                                                                      ^^^
Run Code Online (Sandbox Code Playgroud)

所以你用同样的方法实现通用接口T.