今天在更新时发现有个别项目报错,报错信息
到网上搜索了之后,根据网上描述,修改了一批配置都不行:
http://bestchenwu.iteye.com/blog/997420(这个里面的方法二,即为我后面使用的办法)
http://blog.csdn.net/allenlinrui/article/details/5568817
http://blog.sina.com.cn/s/blog_6419bc670100i6hc.html
http://chen2337.blog.163.com/blog/static/34039920201041311718394/
最后问了一下同事,他说直接修改complier即可,
把上图中的1.5改成1.6后,再编译就没问题了,在Preferences里面设置所有项目的Compiler,所有项目异常都解决:
总结一下原因:
override(重写)这个关键字在1.5里面只能用于类的继承,不能用于接口的实现,应该说算是1.5的一个bug,如果是类的继承,方法前面可加可不加,JVM在编译的时候会默认是重写(Eclipse默认给加上);但如果是接口的实现,也就是说只有方法声明,没有方法体,方法前不能加这个注解,一旦加上这个注解,编译器在编译的时候就会报错,如下图说明
但是在1.6中,修复了这个问题,即可以用于接口的实现也可以用于类的继承,所以在1.6中,继承或实现接口时,在方法前面加或者不加@Override都默认认为是重写,Eclipse默认会给加上
@Override,如下图说明