学堂学堂学堂公众号手机端

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

nianxian2年前 (2023-04-09)阅读数 207#教育

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 ++ ;
}
}
版权声明

本文仅代表作者观点,不代表xx立场。
本文系作者授权xx发表,未经许可,不得转载。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门