我有一个接口,当我尝试实现其方法之一时,出现以下错误:“名称冲突: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
,因此它T
与T
in
有所不同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”下面是代码:
问题内容: 我想要一个带有Real的compareTo方法(一个用于处理任意大而精确的实数的类[好吧,只要它现在的长度小于2 ^ 31])和一个带有一个对象,但是Java不允许我这样做,而且我还没有足够的经验来知道为什么。 我只是试图修改该类以实现Comparable,并且在下面得到了这些错误消息。我不是很明白错误消息的含义,但是我知道这与我试图为类制作的每个方法提供所有不同方法签名的灵活性的可怕
我有一个采访问题-C#,是否可以在一个类中实现,从接口继承有两个具有相同名称和相同签名的方法?
问题内容: 我收到此名称冲突错误,我不知道该怎么解决。我有两个类,我正在使用重载的方法“ createSensors”。为了简化,这里是产生问题的代码: 问题答案: 通用解决方案是使用不同的名称。这些方法可以在没有继承关系的类中,因为它们不是实例方法。 如所指出的,问题中的方法实现是相同的(典型值除外)。 (此重载问题经常与擦除运行时类型混淆。重载是链接时而非动态问题,因此可以在语言中轻松解决。这
我正在尝试理解使用以下代码得到的名称冲突错误: 错误消息: 错误:名称冲突:
本文向大家介绍解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题,包括了解决Kotlin 类在实现多个接口,覆写多个接口中相同方法冲突的问题的使用技巧和注意事项,需要的朋友参考一下 一、首先来看一个例子 二、解决冲突的例子 补充知识:Kotlin 如何优雅的实现『多继承』 这一期给大家讲一个有意思的东西。我们都知道 Java 当年高调的调戏 C++ 的时候,除了最爱说的内存自动回