一尘不染

Java将项目导入Eclipse之后,“必须重写超类方法”错误

java

每当我必须将项目重新导入到Eclipse中(如果我重新安装了Eclipse或更改了项目的位置)时,几乎所有覆盖的方法都未正确格式化,从而导致错误:

该方法必须重写超类方法

值得一提的是,这是在Android项目中-不论出于何种原因,方法参数值并不总是填充的,因此我必须自己手动填充它们。例如:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

最初将这样填充:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

奇怪的是,如果我删除代码,并让Eclipse自动重新创建该方法,它使用的参数名与我已经拥有的名称相同,所以我真的不知道问题出在哪里,否则它将为该方法自动格式化我。

必须手动手动重新创建所有我覆盖的方法,这变得非常痛苦。如果有人能解释为什么会发生或如何解决..我将非常高兴。

也许是由于我格式化方法的方式所致,这些方法位于另一个方法的参数内?


阅读 564

收藏
2020-03-05

共1个答案

一尘不染

Eclipse默认使用Java 1.5,并且你具有实现接口方法的类(在Java 1.6中可以使用注释@Override,但在Java 1.5中只能应用于覆盖超类方法的方法)。

转到项目/ IDE首选项,并将Java编译器级别设置为1.6,并确保选择JRE 1.6以从Eclipse执行程序。

2020-03-05