Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!eternal-september.org!feeder.eternal-september.org!mx04.eternal-september.org!.POSTED!not-for-mail From: Daniele Futtorovic Newsgroups: comp.lang.java.programmer Subject: Re: @Override Date: Mon, 23 Jul 2012 23:40:21 +0200 Organization: A noiseless patient Spider Lines: 59 Message-ID: References: <75036e8b-8b5f-4ea4-aef7-c063249f5707@googlegroups.com> <9da89e66-d7df-47e1-84d4-2dddea7d744f@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Injection-Date: Mon, 23 Jul 2012 21:40:55 +0000 (UTC) Injection-Info: mx04.eternal-september.org; posting-host="b1dacb043cd6e4d53df8327f24671798"; logging-data="20727"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX193GPkDjK6jEpf+lizfTk5k" User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20 In-Reply-To: <9da89e66-d7df-47e1-84d4-2dddea7d744f@googlegroups.com> Cancel-Lock: sha1:oiZkNk4b4gUmk+NW23eO6mYSsrs= Xref: csiph.com comp.lang.java.programmer:16269 On 23/07/2012 22:59, Lew allegedly wrote: > Eric Sosman wrote: >> bob smith wrote: >>> Is it really necessary to write @Override when you override or is this just "a good thing"? >> >> Two benefits of @Override appear to me, one from its presence >> and one from its absence: >> >> - If you write @Override and then misspell the method name or >> mess up the parameter list, Java will say "Hey, wait: There's >> nothing in the superclass with this signature; what do you >> think you're doing?" And then you'll say "Oops!" and fix >> the problem, instead of wondering why your "overriding" method >> doesn't seem to work. >> >> - If you write a method and your IDE starts suggesting that you >> ought to tag it with @Override, you'll be alerted that you've >> overridden something you didn't intend to.[*] >> >> Two benefits; that's all I see. Hence, like indentation and > > And that wasn't enough? > > Add the third benefit that I mentioned upthread. Aren't they enough now? > > Is your disparaging tone rhetorical, or do you really find the > benefit of '@Override' to be that marginal? > > Because it isn't. > >> Javadoc comments, not "really necessary" ... > > Dental patient: > Is flossing my teeth really necessary? Which ones do > *really* need to floss? > > Dentist: > Just the ones you want to keep! > >> [*] This actually happened to me earlier today. I was writing >> a little Swing doodad to edit the "locations" of inventory items, >> and I gave it a getLocation() method. NetBeans started clamoring >> for @Override, and I realized that my doodad extended JPanel which >> in turn extended JComponent, which already has a getLocation() ... >> Time for "Facepalm!" and a quick name change. > > That is an excellent anecdote to support the idea that the > '@Override' annotation is really necessary. > > But only where you want to catch bugs at compile time before > they bite you in production. > Uh... there was a (pretty long) time when people and programs *did* manage to exist without that annotation, you know. No need to be overly dramatic. -- DF.