@override

Java @Override报错问题解决方法

北城余情 提交于 2019-12-04 17:54:54
问题描述 在实现接口(interface)的时候,使用@Override这个注解会导致报错,错误提示: The method xx(xxxxx) of type xxxxx must override a superclass method 问题原因 jdk1.5下要使用@Override这个注解必须保证被标注方法来源于class而不是interface,也就是说,在 jdk 1.5下,实现interface的方法是不支持使用@Override这个注解的,验证代码如下: public class OverrideTest { public abstract class ParentClass { public abstract void test(); } ParentClass pc = new ParentClass() { @Override public void test() { // 没有报错 } }; public interface ParentInterface { public void test(); }; ParentInterface pi = new ParentInterface() { @Override public void test() { // 报错 } }; } 解决方案 1、把接口实现方法使用的@Override全部删除(如果有N多个

eclipse android环境配置问题以及解决途径汇总

狂风中的少年 提交于 2019-12-04 08:19:42
第一次自己搭建android环境,运行eclipse的时候,就是不能运行出android avd(虚拟机),老是出现"emulator-arm.exe已停止工作" 的提示框,这个问题解决后又出现了adb.exe不能启动问题,新建的android工程直接出错,原因是不能自动生成R文件,导入的以前的工程出现@override remove的问题,让人很纠结.后来自己慢慢摸索装了三次,终于搞好。 首先我成功安装后的组合为 eclipse版本为4.2.0,juno sdk4.1 jdk 1.6 按照教程地址为:http://www.cnblogs.com/skynet/archive/2010/04/12/1709892.html(其中eclipse的选择不止一种,我看见另一些教程推荐的eclipse版本为Eclipse IDE for Java EE Developers,对于android开发都可以,但是后一种功能更强大完整。) 其实按部就班的安装一般不会有什么问题,但是我总结了几个问题 1。adb.exe不能启动,以及adb的各种问题。 解决:a.确认你没有安装豌豆荚,我出现这种问题,豌豆荚“功不可没”。。。(在任务管理器中干掉豌豆荚的两个进程,关掉eclipse,然后找到adb.exe双击运行一下,重启eclipse也许就能神奇的连上了!) b.adb.exe的路径(D:\java

实现接口时@Override注解问题

↘锁芯ラ 提交于 2019-12-03 15:25:47
用IntelliJ 15打开一个以前的工程,发现代码出现很多关于@Override的错误,编辑器提示:“ @Override is not allowed when implementing interface method”,怎么会这样子?看来@Override是个有故事的家伙,呵呵!   先来上张图吧!看看到底是什么样子的错误。   下面我们来分析一下该问题。我们都知道@Override从jdk1.5开始出现的,是用来标注方法重写的。通常方法重写发生在继承父类,重写父类方法,或者实现接口,实现接口方法。@Override能够保证你正确重写方法,当你重写方法出错时,比如方法名误写,或者漏掉参数,编译器会提示编译错误。   出现以上问题,则跟编译器版本问题有关。编译器1.5只支持@Override注释重写父类方法,不支持实现接口方法。而我的IDE默认使用jdk1.5的编译器。   我们只需要将language level设置高于jdk1.5版本即可,因为我机器安装的是jdk1.7,所以我将language level设置为:jdk1.7,问题解决。   IntelliJ设置方法:菜单File → Project Structure → Project Language Level   Eclipse设置方法:菜单Windows->Preferences-->java-