java - "method must override or implement a superclass method"当我已经这样做的时候

标签 java eclipse

我已经多次看到这个问题,但答案并不适用于我。这是有问题的界面:

public interface MapInterface<K, V> {

    public MapInterface<K, V> put(K key, V value);

}

以及实现此功能的类:

public class MapInterfaceImpl<K, V> implements MapInterface {

    @Override
    public MapInterface<K, V> put(K key, V value) {
        // TODO Auto-generated method stub
        return null;
    }
}

我忽略了不相关的代码。所有其他类似的问题都指向 java 编译器合规性问题。他们都说要从1.5改成1.6。因为我从一开始就使用 1.8,所以这不适用于我。那么这里有什么问题呢?

编辑:只是添加一些内容。当 Eclipse 自动从接口(interface)添加未实现的方法时,它不会写入 put(K key, V value),而是写入 put(Object key, Object value)。这与接口(interface)中的方法签名明显不同,但编译器不会给出错误。

最佳答案

您不会覆盖接口(interface)的约定,该约定已指定通用参数 <K, V> .

您需要更改您的工具行以将其包含在内。

public class MapInterfaceImpl<K, V> implements MapInterface<K, V> {
    // implementation
}

关于java - "method must override or implement a superclass method"当我已经这样做的时候,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26943502/

相关文章:

java - 将图像加载到 Java 中

java - 存储一个数组以填充它并在单行中打印它

eclipse - Eclipse 中的 EGit 导入显示运行时错误

java - 编译错误: Default nullness annotation has not been specified

java - 错误 : Selection does not contain a main type

java - 对资源名称的限制或如何进行通用国际化

java - 如何从 Clojure 动态加载 java AppleScript 引擎?

java - 如何在不推荐使用 tabhost 的情况下实现 Android 选项卡菜单

eclipse - 向 friend 展示我的 jsp 项目

java - 如何为 Eclipse 工作区使用相对路径