在接口的实现类里使用@Override注解报错

问题分析

@Override注解用来检测子类对父类或接口的方法的重写是否正确,但有一次我在Eclipse里对接口的实现类里使用@Override注解却报错,不过在父类的子类里使用该注解却是正常的。

百度了下才知道原来这是jdk1.5时的一个bug,在1.6时已经被修复;那么问题来了,我使用的jdk是1.8,为什么会报这个错误?明明之前也在接口的实现类里用过该注解,却没问题。由于Eclipse经常抽风,我怀疑是Eclipse的问题,经过排查确实如此,该项目使用的jdk版本不知道为什么变成了jdk1.5,导致出现了注解报错的问题。

解决方法

右键该项目,选择Properties,将Java Compiler和Java Facets里的jdk版本从1.5改为更高的版本,再刷新下项目重新编译就没问题了。

原文地址:https://www.cnblogs.com/yulinlewis/p/9991929.html

时间: 2024-10-08 23:14:02

在接口的实现类里使用@Override注解报错的相关文章

接口的实现类不支持@Override注解,提示移除

写了一个接口的实现类,在方法的前面加了@Override居然报错了,要求移除这个注解.据说这个是JDK的版本问题,@Override在JDK5就已经有了,但是有一个小小的BUG就是不支持对接口的实现,认为这不是Override而JDK6修正了这个BUG,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override. 首先要确保安装jdk1.6,然后在eclispe中修改配置,在windows->preferences->java->complier->compiler com

spring测试junit事务管理及spring面向接口注入和实现类单独注入(无实现接口),实现类实现接口而实现类单独注入否则会报错。

1.根据日志分析,spring junit默认是自动回滚,不对数据库做任何的操作. 18:16:57.648 [main] DEBUG o.s.j.d.DataSourceTransactionManager - Switching JDBC Connection [[email protected]] to manual commit 18:16:57.649 [main] DEBUG o.s.t.c.t.TransactionalTestExecutionListener - No meth

pom.xml里有红叉报错的解决办法

pom.xml里有红叉报错的解决办法一: 1.把鼠标点在报的错上发现pom.xml报如下错误: Multiple annotations found at this line: - Failure to transfer org.slf4j:slf4j-log4j12:jar:1.7.21 from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempte

写个接口的实现类,在方法的前面加了@Override居然报错

据说这是jdk的问题,@Override是JDK5就已经有了,但有个小小的Bug,就是不支持对接口的实现,认为这不是Override 而JDK6修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override.首先要确保安装了jdk 1.6,然后,在eclipse中修改配置,在 Windows->Preferences-->java->Compiler-->compiler compliance level 中选择 1.6,,刷新工程,重新编译下.如果还是不行,

myeclipse 方法上加上@Override就报错的处理方法

在有@Override方法上面会报错如下: The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method Override是指子类继承父类里面的方法的描述,说明. Override是JDK5 就已经有了,但有个Bug,就是不支持对接口的实现,认为这不是Override而JDK6 修正了这个Bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override 修改方法:

eclipse里maven install时,报错提示jdk为无效的目标版本:1.7

http://blog.csdn.net/wabiaozia/article/details/51733372 ************************************ 报错提示: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project sshe: Compilation failure [ERR

SharePoint 2019 里安装FlowPortal6.00c报错

环境: Windows Server 2016+SharePoint 2019 安装FlowPortal 6.00c后应用程序池FlowPortal.net 6.x AppPool自动停止. 事件查看器里查看应用程序日志: 错误信息: 由于配置问题,无法加载模块 DLL“C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\isapi\spnativerequestmodule.dll”.当前配置仅支持加载

vue created钩子使用后台数据赋值给data里的变量,报错‘undefined’

created: function () { this.$axios.post('/jsonData').then( function (res) { this.cares = res.data; console.log(this.cares) }) 以上报错‘undefined’ 经过查询得知,.then回调里的this指向的不是vue实例,所以出错. 解决办法: 1.修改this指向,原生js可以用.bind()方法 2.ES6 箭头函数 .then(  res => { this.care

XAML引用隐藏代码中的类,遇到的不明报错

<Canvas x:Name="Canvas1"  > <Canvas.Resources> <local:BookList x:Key="bl" BookName="Danieltonight" ISBN="123"/> </Canvas.Resources> <TextBox Text="{Binding Path=BookName}" Width=