@Override specification changes in Java 6

January 25 3 Comments Category: Eclipse, Java

Between Java 5 and Java 6 changes to the specification of @Override have been made. In Java 6 it is possible to add the @Override annotation to methods that implement methods of an interface which is not allowed in Java 5.

I noticed the difference when a friend told me that he had to remove all the @Override annotations to make his Java 6 project compile with Java 5.

The interesting thing is that there is no documentation about this change. The API specification of @Override is exactly the same in both Java versions. I found out that this was forgotten by Sun developers. Peter Ahé, a former developer at Sun, calls it the @Override Snafu.

3 Responses

Write a comment
  1. thanks for this comment! save me time while reverting from java 6 to java 5.

    lukas 19 June 2009 at 9:00 am Permalink
  2. thanks for this comment. I was tearing my hair before reading this for exactly the same thing.

    Balkrishan Nagpal 7 May 2010 at 11:57 am Permalink

Trackbacks/Pingbacks

  1. It’s Only Software » 5 Minute Guide to Spring and Simple[r!] JDBC - March 24, 2008

    [...] an object of the declared generic type. Here’s our PersonRowMapper implementation (Note that @Override is supported on interface implementation methods only on Java 6, so remove that annotation if you’re on Java 5): class PersonRowMapper implements [...]

Write a Comment

Commenter Gravatar