idea @Override is not allowed when implementing interface method
1、在project/module上,右键选择菜单“Open Module Settings” ;
2、选择Modules,修改“Language Level” 为 “8-Lambdas,…”;
3、选择Project, 修改“Project language level” 为 “SDK default”。
4、保存,重启。
下面我们来分析一下该问题。我们都知道@Override从jdk1.5开始出现的,是用来标注方法重写的。通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法。@Override能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误。
出现以上问题,则跟编译器版本问题有关。编译器1.5只支持@Override注释重写父类方法,不支持实现接口方法。而我的IDE默认使用jdk1.5的编译器。
我们只需要将language level设置高于jdk1.5版本即可,因为我机器安装的是jdk1.7,所以我将language level设置为:jdk1.7,问题解决。
参考url:http://stackoverflow.com/questions/15402615/override-is-not-allowed-when-implementing-interface-method
https://blog.csdn.net/sun_wangdong/article/details/55251508
https://blog.csdn.net/shenya2/article/details/50460447
还没有评论,来说两句吧...