【发布时间】:2010-10-18 17:25:28
【问题描述】:
我正在尝试覆盖扩展另一个接口的接口中的方法声明。这两个接口都使用泛型。根据 Java 教程,这应该是可能的,但该示例不使用泛型。当我尝试实现它时,编译器显示以下错误(我已替换名称,因为某些代码不是我自己的。):
接口扩展中的myMethod(T) 与接口中的 myMethod(T) 冲突; 两种方法都有相同的擦除, 但两者都不会覆盖另一个。
代码如下:
public interface Interface<T>
{
public void myMethod(T x);
}
public interface ExtendedInterface<T> extends Interface<T>
{
public void myMethod(T x);
}
如果有人对如何改变它以使其可以接受提出建议,或者解释造成问题的原因,我将不胜感激。
谢谢!
坏熊猫
【问题讨论】:
-
只是不要覆盖该方法。它什么也没增加。
-
这是一个作业,明确指定我必须。如果是我自己的代码,我不会……
-
有趣...您使用的是什么 IDE?我正在使用 IntelliJ,Java 1.6 - 7。
-
您是剪切并粘贴代码还是重新输入?因为您的错误消息与您的代码不匹配(InterfaceExtended vs ExtendedInterface)
-
我完全重新输入了它,因为我觉得有必要为方法和接口使用不同的名称,因为其中一个接口不是我的。此外,它们相当复杂,我简化为相关代码。
标签: java generics interface polymorphism overriding