2 yijidemomo yijidemomo 于 2012.09.12 10:43 提问

向Eclipse导入一个项目时发生错误:'Must Override a Superclass Method'

每当我重新往Eclipse导入项目的时候(如果我重新安装了Eclipse,或者改变了项目的位置),几乎我所有的重写方法都不是正确的格式,导致了这个错误:“The method ?????????? must override a superclass method”。

因为这个Android项目它可能是值得注意的——不管出于什么原因,方法参数值总是不能自动填充,所以我不得不手动填充它们。
例如:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

                public void onCreateContextMenu(ContextMenu menu, View v,
                                ContextMenuInfo menuInfo) {
                        //这些参数有他们正确的名称
                }


        });

像这样在最初的状态下填充:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

                public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                ContextMenuInfo arg3) {
                        //这些方法的参数没有自动提供
                }


        });

奇怪的是,如果我删除我的代码,Eclipse会自动重建方法,它使用我之前使用的同样的参数名称,所以我真的不知道问题出在哪里,然后它自动格式化了我的方法。
这变得相当的痛苦,我不得不手动重建我所有重写的方法。如果有人能解释为什么会发生这样的情况或者是怎么修改,我将会非常的高兴。
可能是我格式化的方法有问题,是在一个参数里边的另外一种方法?

6个回答

yizhenbeifeng
yizhenbeifeng   2012.09.12 10:59
已采纳

Eclipse默认的是java1.5,你得有一个可以实现接口的方法的类(在java1.6中可以被用@Override标注,但是在java1.5中它仅仅是被用于覆盖超类的一个方法)。
打开你的工程,然后把java编译器的版本升级到1.6,然后确保你使用JRE1.6来执行你来自eclipse的程序。

niangzhi
niangzhi 我的项目被设置成了1.6,我又把它设置成了1.5,重建,然后再设置成1.6。我的问题神奇般的就解决了,谢谢你给了我修改的方向。
接近 6 年之前 回复
liangchichexin
liangchichexin   2012.09.12 11:21

用eclipse定位系统打开Eclipse->选择菜单项,然后在对话框中选择java和编译器。
现在,它可能显示的编译器的版本仍然是1.6,你已经发现了这个问题。所以现在选择"Configure Project Specific Settings..."链接,然后你将看到你的工程变成了1.5,现在把它改变到1.6,。你需要给所有的受影响的工程这样做。
这种像迷宫一样的菜单/对话界面是Eclipse典型的糟糕的UI设计。

mansuifengqi
mansuifengqi   2012.09.12 11:38

对于我来说,尽管做了Project > Clean之后,eclipse仍然以某种方式缓存了这个编译错误
我不得不取消Project > Build Automatically,全部删除然后重新创建。

Haydroid
Haydroid   2015.06.04 17:46

图片说明

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.10.02 11:49

必须重写父类的方法,父类可能是接口或者抽象方法

intepter
intepter   2016.12.07 11:12

必须重写父类的方法

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
[乐意黎原创] Eclipse 提示 @Override must override a superclass method 问题解决
今天新换了一个Eclipse 版本: Build id: 20140224-0627. 把原有的工程项目导入时,在使用 @Override 出现以下错误: The method *** of type *** must override a superclass method 编译时出现下面的错误: 主要是因为你的Compiler是jdk5,(5不支持@
Eclipse导入项目报错: @Override must override a superclass method 问题分析与解决
Eclipse导入项目报错: @Override  must override a superclass method 问题分析与解决 项目环境:jdk1.8 总体思路:先把项目编译等级改为1.7,然后再改回1.8. 更详细的待续。。。。
@Override must override a superclass method 问题
在eclipse导入android项目的时候,出现: The method run() of type new Runnable(){} must override a superclass method 网上找了一下解决办法,主要是jdk版本问题: 如果出现  The method *** of type *** must override a superclass method 右键项
轻松解决 MyEclipse、Eclipse 编译时提示 @Override The method of type must override a superclass method 即 @Overr
刚才在把工程从其他地方导入到自己机子的 MyEclipse 下时,出现了 The method of type must override a superclass method ,提示的是实现类必须实现接口的方法。 想了半天,发现没有问题啊,查看 jre 是1.6的,查了一下,好像是 annotation 的问题,实现类里面使用了 @Override 。发现原来的 Java Complie
@Override注解报错,The method xxx of type xxx must override a superclass method
先交代环境:jdk1.8.0_65,eclipse版本: Oxygen Release (4.7.0) 今天用到@Override注解时,发现eclipse报错The method xxx of type xxx must override a superclass method,网上一查,基本都是同一篇答案,如下: java1.5中继承接口是不需要@Override的,而在1.6中是需要添加@
eclipse报错:The method convert(String) of type DateConvertor must override a superclass method;
@Override must override a superclass method 问题解决 如果在使用Eclipse开发Java项目时,在使用 @Override 出现以下错误: The method *** of type *** must override a superclass method 主要是因为你的Compiler是jdk5,(5不支持@Ov
Eclipse使用问题解决合集
The method asBinder() of type VideoChannel_Interface.Stub must override a superclass methodThe method of type must override a
The method ** must override a superclass method解决方法
1. 右键需要build的项目 --> properties --> Java Compiler
override报错,继承自接口的类报错:***must override a superclass method
Description   Resource   Path   Location   Type The methodgetLastSyncTimeByTable(String) of type LogInfoServiceImpl must override asuperclass method LogInfoServiceImpl.java  /YZT-DataTransfer-CHUZHOU
关于eclipse 代码出现错误 xx must override a superclass method 的错误
出现此错误一般是在重写方法上出现的,由于我新建的工作空间的默认编译jdk 版本 eclipse 默认1.5, 导致了override 注解的方法都会报次错误,错误信息如下解决方法如下:右键项目 -- 打开properties -- java Compiler 修改成如下,点击apply 和 ok ,工作空间就会rebuild:...