神医江湖行,入殓师 国语,伯劳鸟饲养
导入一个新的maven项目发现很奇怪的一个bug,提示错误,“@override is not allowed when implementing interface method”。详细的代码描述如下:
错误原因(敲黑板,划重点了哈):@override注解是从jdk1.5开始出现的,是用来标注方法重写的。通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法。@override能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误。出现以上问题,则跟编译器版本问题有关。编译器1.5只支持@override注释重写父类方法,不支持实现接口方法。
解决办法:我的ide默认使用jdk1.5的编译器,我们将language level设置高于jdk1.5版本即可
1、file ——> project structure ——>modules——>language level 修改成 “7 - diamonds,arm,multi-catch etc.”
将file ——> settings ——> build, execution, deployment ——> compiler ——> java compiler
target bytecode version 改为1.8,即可
参考网址:
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论