Eclipse: always notice error when use @Override
我不知道为什么每次我实现一个类。当我使用@Overrideeclipse时,总是注意到错误:
the method A of type B must override a superclass method
(方法A是我重写的方法,B是我使用的当前类)
Eclipse建议删除EDOCX1[0]
但是使用相同的代码,我的想法是,没有发现错误。
谁能告诉我为什么?
谢谢)
@编辑:哦,我不发布确切的代码,因为当我实现某个东西时,它会发生在所有人身上:例如:
1 2 3 4
| public class helloworld implements Runnable {
@Override //this line no-error with Idea and error with eclipse:the method run of type helloworld must be override a super class
public void run (){
} |
- 把产生错误的代码粘贴到这里怎么样?
- 我赞同奥斯卡的建议——这应该是显而易见的,不是吗?就好像你在要求我们读懂你的思想,猜测导致错误的代码。
- 类A继承自类B并重写类B的方法?发布代码
- 您的Eclipse Java编译器设置的JDK遵从性是什么?我认为在Java的一些早期版本中,接口方法不允许重写注释。
- @气垫船上满是鳗鱼,我已经更新了我的帖子
- 我正在使用JDK7。至少,JDK版本与Eclipse和IDEA相同
- @我又问了一个问题。同样,您的Eclipse Java编译器设置的JDK遵从性是什么?您通过查看Windows——首选项——Java编译器菜单进行检查。不,我不是问你的Java版本,而是你的日食设置JDK依从性!有很大的不同!
- JDK遵从性级别真的会像@override注释那样影响基本的东西吗?我敢打赌,OP的Eclipse只是处于一个糟糕的状态,需要重新启动。我以前见过这种情况。源树上的"刷新"或重新启动可以修复出现的所有虚假错误。
- @事实上,是的,我最近确实有过几次这个问题,这就是解决办法。
- @杰夫,更改遵从性级别是修复,还是重新启动Eclipse?
- @Siddharthasankar更改了合规性级别。
- 啊,我明白了。通过一些搜索,我发现@override注释是一个相对较新的介绍。六羟甲基三聚氰胺六甲醚。。。如果人们把他们的建议的理由公布给我们中一些不那么开明的人,那就太好了。:)
- @实际上,你可能只需要再仔细读一点:从充满鳗鱼的气垫船上,你可以评论:I think that override annotations were not allowed for interface methods in some earlier versions of Java.。
- @杰夫,又是我的错!我读了他后来的评论,但不是先前的。到处道歉。
- @悉达多:接受。
- 哦,谢谢。我已经解决了我的问题(感谢充满鳗鱼的气垫船)。下面是他的帖子:(我再次为整体回答),你的Eclipse Java编译器设置的JDK符合性是什么?您通过查看Windows——首选项——Java编译器菜单进行检查。不,我不是问你的Java版本,而是你的日食设置JDK依从性!
- 不客气!
- 转到Windows ->首选项> java>编译器> >将编译器符合级别选择为1.6(您想要哪个版本)->应用-> OK。现在它的工作。
Java 5只支持在子类化时重写的方法的注释。从Java 6开始,您也可以在从接口实现方法的方法上使用此注释。
检查您的符合性设置。应该是JDK 6+
这是一个Java版本的问题。在一个IDE中,您使用的是允许这样做的JDK6/7。在另一种情况下,你使用的是Java 5,而不是。