【安卓学习之常见问题】 Eclipse 提示 @Override 错误

来源:互联网 发布:安卓看电视软件 编辑:程序博客网 时间:2024/06/10 19:19

通过Eclipse 导入一个工程项目后,提示如下错误:

这里写图片描述

1.问题描述

  • The method onClick(View) of type new View.OnClickListener(){} must override a superclass method
  • 1 quick fix available
  • Remove ‘@Override’ annotation

PS: 很明显地指出了 使用 @Override 导致 出错

2.分析原因:

  • jdk1.5中 @Override 的用法
    @Override 注释的方法只能 来源于 类 (class )而不能是 接口( interface),简单说,它不支持接口的重载 注释 ,其实接口本身也不算是重载,算是 方法的实现。
  • jdk1.6中 @Override 的用法
    修复了 @Override 只能 注释 超类方法的bug,无论是对父类的方法覆盖还是对接口的实现都可以加上@Override。

因此这边的错误提示,是因为View.OnClickListener()是一个接口,而不是一个类,这个是属于jdk版本导致的问题

3.解决方法:

  • 方法一:
    去掉 @Override :但是项目中有很多这样的注释,肯定会造成很多麻烦,而且说不定还会引发其他问题,而且没有从本质上解决这个问题

  • 方法二:
    既然jdk1.5 不支持@Override等形式的注解(或称为 注释、批注),那就将jdk的编译器修改为1.6 以上的版本,这里不是指你安装的版本,即使你安装【jdk_8u101】(即:jdk1.8.0-20的版本),在你的编译器选择中还是可以在window->preferences->java-compiler 右侧的Compiler compliance level中 选择 jdk1.3 、jdk1.4、jdk1.5、jdk1.6、jdk1.7等选项,具体如下图:

这里写图片描述

转载请注明出处:http://blog.csdn.net/ljb568838953/article/details/52525808

0 0
原创粉丝点击