java - 我必须删除@Override 注释吗?

标签 java annotations

以下代码在 public void control() { 附近给出错误。

EClipse 也给出了删除@Override 注释的提示。我经历了 docs.oracle并发现如果标有@Override 的方法无法正确覆盖其父类(super class)之一中的方法,编译器会生成错误。

我不明白“无法​​正确覆盖”是什么意思?

public class PersistenceFlowController implements controllers.FlowController {
   @Override
   public void control() {
      // Do some works here
   }
}


package controllers;
public interface FlowController {   
   void control();  
}

最佳答案

在 JDK 1.5 中,@Override 只能应用于父类的方法。在 JDK 1.6 及更高版本中,它也可以用于接口(interface)方法。我的猜测是您将 Eclipse 设置为 JDK 1.5 编译器兼容。您可以在项目属性对话框的“Java 编译器”选项卡中检查或更改它。

关于java - 我必须删除@Override 注释吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9696019/

相关文章:

r - ggplot geom_text 带有可变标签的注释

java - Spring MVC 基于 xml 的配置到注释

jpa - 域类通常是否获得 JPA 或 JAXB 注释或两者兼而有之?

java - 如何在Spring boot中模拟本地RestTemplate来解决连接被拒绝的问题?

java - Wicket:禁用 wicket 中的 “Changes you made may not be saved” 弹出窗口

java - 如何使用 JOptimizer 或任何其他 Java 库解决给定的优化任务?

java - 如何在 JPanel.getComponents() 内循环时获取 JButton 属性

java - 如何将属性占位符传递给 YAML 配置文件中的注释?

java - IntelliJ 注释包装

java - Spring 启动: how to update object efficently?