Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #26833

Re: Use of @Override when implementing interfaces

From "John B. Matthews" <nospam@nospam.invalid>
Newsgroups comp.lang.java.programmer
Subject Re: Use of @Override when implementing interfaces
Date 2013-12-11 00:55 -0500
Organization The Wasteland
Message-ID <l88uo6$kl8$1@dont-email.me> (permalink)
References <d0685bbc-5d5d-47d0-a264-e79debf00b3d@googlegroups.com> <slrnla2tii.76o.fredrik@biggles.jonson.org> <52a67735$0$293$14726298@news.sunsite.dk>

Show all headers | View raw


On 12/9/13, 9:06 PM, Arne Vajhøj wrote:
> On 12/6/2013 2:01 AM, Fredrik Jonson wrote:
>> Y HA wrote:
>>
>>>   class Task implements Runnable {
>>>       @Override
>>>       public void run() {
>>>           System.out.println("Run method overridden in Task class");
>>>       }
>>>   }
>>
>> Sorry, I can't help with the problem, but the code made me curious.
>>
>> Is it commont practice to use @Override when implementing interface
>> methods? Assuming that the method has not been implemented by a
>> superclass.
>>
>> Obviously, the annotation is technically allowed, still it isn't really
>> possible to override an implementation that does not exist. And it
>> doesn't add type safety to the code, if your method signature doesn't
>> match the method signature of the interface, the implementing class
>> won't compile.
>
> @Override was added in 1.5, but I believe that @Override was first
> added in 1.6.
>
> @Override in case of super class with non abstract method makes a
> lot of sense as it turns some runtime bugs into compile time bugs.
>
> @Override in case of super class with abstract method or
> interface is a bit less obvious.
>
> I don't use it myself.
>
> But Eclipse generate them, so they are probably relative common.

This matches my recollection. I've got some short examples from the 
period that have the (permitted) superclass override annotation

static class MyLabel extends JLabel {

     @Override
     public Dimension getPreferredSize() {
         ...
     }
}

and the (forbidden) interface implementation annotation in a comment.

public static void main(String[] argv) {
     EventQueue.invokeLater(new Runnable() {

         //@Override
         public void run() {
             ...
         }
     });

More details on the 1.5/1.6 change are cited here: 
<http://stackoverflow.com/q/2335655/230513>.

-- 
John B. Matthews
trashgod at gmail dot com
<http://sites.google.com/site/drjohnbmatthews>

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Find similar | Unroll thread


Thread

@override annotation not working correctly javac version _ 1.7.0_25 Y HA <yuriha@gmail.com> - 2013-12-05 14:42 -0800
  Re: @override annotation not working correctly javac version _ 1.7.0_25 Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-12-05 18:25 -0500
    Re: @override annotation not working correctly javac version _ 1.7.0_25 Y HA <yuriha@gmail.com> - 2013-12-05 16:13 -0800
      Re: @override annotation not working correctly javac version _ 1.7.0_25 Y HA <yuriha@gmail.com> - 2013-12-05 17:00 -0800
      Re: @override annotation not working correctly javac version _ 1.7.0_25 Y HA <yuriha@gmail.com> - 2013-12-05 17:03 -0800
        Re: @override annotation not working correctly javac version _ 1.7.0_25 Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-12-05 20:42 -0500
          Re: @override annotation not working correctly javac version _ 1.7.0_25 Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-12-07 19:15 +0000
  Re: @override annotation not working correctly javac version _ 1.7.0_25 "John B. Matthews" <nospam@nospam.invalid> - 2013-12-05 21:49 -0500
  Use of @Override when implementing interfaces (was: @override annotation not working...) Fredrik Jonson <fredrik@jonson.org> - 2013-12-06 07:01 +0000
    Re: Use of @Override when implementing interfaces Silvio <silvio@internet.com> - 2013-12-06 09:10 +0100
      Re: Use of @Override when implementing interfaces Y HA <yuriha@gmail.com> - 2013-12-06 07:08 -0800
        another error with @Override  with another code Y HA <yuriha@gmail.com> - 2013-12-06 07:25 -0800
          Re: another error with @Override  with another code "John B. Matthews" <nospam@nospam.invalid> - 2013-12-06 11:29 -0500
            Re: another error with @Override  with another code Y HA <yuriha@gmail.com> - 2013-12-06 09:21 -0800
              Re: another error with @Override  with another code "John B. Matthews" <nospam@nospam.invalid> - 2013-12-07 00:26 -0500
                Re: another error with @Override  with another code Knute Johnson <september@knutejohnson.com> - 2013-12-06 21:57 -0800
                Re: another error with @Override  with another code Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-12-07 08:44 -0500
              Re: another error with @Override  with another code "Chris Uppal" <chris.uppal@metagnostic.REMOVE-THIS.org> - 2013-12-07 11:12 +0000
        Re: Use of @Override when implementing interfaces Stanimir Stamenkov <s7an10@netscape.net> - 2013-12-07 16:32 +0200
          Re: Use of @Override when implementing interfaces Y HA <yuriha@gmail.com> - 2013-12-08 12:02 -0800
            Re: Use of @Override when implementing interfaces Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-12-08 21:27 +0000
              Re: Use of @Override when implementing interfaces Andreas Leitgeb <avl@gamma.logic.tuwien.ac.at> - 2013-12-08 23:43 +0000
            Re: Use of @Override when implementing interfaces Eric Sosman <esosman@comcast-dot-net.invalid> - 2013-12-08 16:45 -0500
    Re: Use of @Override when implementing interfaces Jeff Higgins <jeff@invalid.invalid> - 2013-12-06 09:51 -0500
    Re: Use of @Override when implementing interfaces leif.roar@invalid.com (Leif Roar Moldskred) - 2013-12-06 09:36 -0600
      Re: Use of @Override when implementing interfaces Y HA <yuriha@gmail.com> - 2013-12-06 07:41 -0800
      Re: Use of @Override when implementing interfaces markspace <markspace@nospam.nospam> - 2013-12-06 08:18 -0800
    Re: Use of @Override when implementing interfaces v_borchert@despammed.com (Volker Borchert) - 2013-12-07 07:14 +0000
      Re: Use of @Override when implementing interfaces Wayne <nospam@all.invalid> - 2013-12-07 04:46 -0500
        Re: Use of @Override when implementing interfaces v_borchert@despammed.com (Volker Borchert) - 2013-12-07 10:54 +0000
      Re: Use of @Override when implementing interfaces Fredrik Jonson <fredrik@jonson.org> - 2013-12-09 12:59 +0000
    Re: Use of @Override when implementing interfaces Arne Vajhøj <arne@vajhoej.dk> - 2013-12-09 21:06 -0500
      Re: Use of @Override when implementing interfaces "John B. Matthews" <nospam@nospam.invalid> - 2013-12-11 00:55 -0500

csiph-web