我有一个接口,当我尝试实现其中一个方法时,我得到这个错误: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
,因此它T
与T
in 不同IGenericQueue
.<T>
在implements
子句中添加:
public class GenericQueue<T extends Comparable> implements IGenericQueue<T> {
// ^^^
Run Code Online (Sandbox Code Playgroud)
所以你用同样的方法实现通用接口T
.
归档时间: |
|
查看次数: |
27593 次 |
最近记录: |