Mihail Stoynov's blog!
Surrender your ego
Friday, June 20, 2008
@Override in eclipse
When one implements an interface, the template in Eclipse puts an
@Override
and it does not complain about it. Ant
javac
task also compiles without warnings.
Sometimes other Eclipse instances start to complain exactly for that
@Override
stating that there's no method that's overridden. Well, Eclipse, please do make up your mind.
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Override.html
"Indicates that a method declaration is intended to override a method declaration in a superclass. If a method is annotated with this annotation type but does not override a superclass method, compilers are required to generate an error message."
Well, that's not very clear. As far as I remember an Interface is a pure abstract class, right? So, which one's correct.
P.S. Sometime ago I was having a similar problem with Eclipse and generics - Eclipse only gave a warning about something (can't remember what exactly), but the
javac
said that it was an error - Google said something like "eclipse uses
jikes
, you use
javac
". So what, aren't there specs?!
Update:
apparently JDK5 (or 1.5, suit yourself) does not allow that. So in order to get all the wrong
@Override
s - set the Compliance level to 5.0 (
Eclipse -> Window -> Preferences -> Java -> Compiler -> Compiler compliance level
) - and..... correct them. I have 29 left.
Sucks
Comments [6]
|
Trackback
Sunday, June 22, 2008 6:51:41 PM UTC
<blockquote>Well, Eclipse, please do make up your mind.</blockquote>
In order for the Eclipse to make up their mind, it's crucial to report the problems you encounter in their bug tracking system.
For me implementing a method is different than overriding one - so I don't write @Override when implementing a method from interface.
Irina Marudina
Monday, June 23, 2008 8:36:01 AM UTC
But Eclipse doesn't see the difference, and eclipse does put @Override by default.
I'll check the possibilities for reporting :)
mihail.stoynov
Wednesday, July 30, 2008 12:49:14 PM UTC
Good, it works.
i've stted level to 1.6 and now work
ettore
Saturday, October 11, 2008 7:40:36 PM UTC
Thank you. you save my time!
samitha
Sunday, March 08, 2009 4:55:31 PM UTC
When importing new source files, my Eclipse used to complain about those @Override things, if any. Setting compiler's compliance to 1.6 really solved the problem.
Ilja Astahovs
Sunday, March 08, 2009 4:57:13 PM UTC
worth mentioning, I switched from 1.5 compliance to 1.6
Ilja Astahovs
OpenID
Please login with either your
OpenID
above, or your details below.
Name
E-mail
(will show your
gravatar
icon)
Home page
Remember Me
Comment (Some html is allowed:
a@href@title, blockquote@cite, strike
) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.
Enter the code shown (prevents robots):
Live Comment Preview
dasBlog theme by
Mads Kristensen
RSS feed
Search
Archives
June, 2009 (13)
May, 2009 (8)
April, 2009 (1)
March, 2009 (7)
February, 2009 (2)
January, 2009 (1)
December, 2008 (2)
November, 2008 (15)
October, 2008 (16)
September, 2008 (30)
August, 2008 (15)
July, 2008 (14)
June, 2008 (26)
May, 2008 (6)
April, 2008 (21)
March, 2008 (14)
February, 2008 (28)
November, 2007 (5)
October, 2007 (7)
September, 2007 (1)
August, 2007 (7)
July, 2007 (3)
June, 2007 (1)
Blog Stats
Total Posts: 242
This Year: 37
This Month: 0
This Week: 0
Comments: 167
Categories
Did you know
Java
rulez
Sucks
The USA trip
БГ
Blogroll
Michael Moore (no rss)
Links
BG-JUG
Copyright policy
No rights reserved.
(You are going to
copy stuff anyway :)
If you mention my
name, thank you.
2009, Mihail Stoynov