Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why @Override needed in java or android?

Tags:

java

android

In java or Android there are @Override annotations. What does it mean? I found that it is used when method is from subclass or inherited interface's method, I want to know further and other is @SuppressWarnings its also Anonation, if yes how many annonation used by java and for which purpose.

like image 560
Samir Mangroliya Avatar asked Dec 17 '11 14:12

Samir Mangroliya


People also ask

What is the use of @override in Android?

@Override is an java annotation . 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.

What is @override in Android Java?

java.lang.Override. Indicates that a method declaration is intended to override a method declaration in a supertype.

Why @override is used in Java?

In Java, method overriding occurs when a subclass (child class) has the same method as the parent class. In other words, method overriding occurs when a subclass provides a particular implementation of a method declared by one of its parent classes.

What happens if @override is not used Java?

If you don't use the annotation, the sub-class method will be treated as a new method in the subclass (rather than the overriding method). 2) It improves the code's readability.


1 Answers

This question is also answered here, and quite succinctly: Android @Override usage

It's an annotation that you can use to tell the compiler and your IDE that you intend the method that has that annotation to be an override of a super class method. They have warning/errors in case you make mistakes, for example if you intend to override a method but misspell it, if the annotation is there the IDE or the compiler will tell you that it is not in fact overriding the super class method and thus you can determine why and correct the misspelling.

This is all the more important for Android applications and activities for example, where all of the calls will be based on the activity lifecycle - and if you do not properly override the lifecycle methods they will never get called by the framework. Everything will compile fine, but your app will not work the way you intend it to. If you add the annotation, you'll get an error.

In other words, if you add @Override this helps you make sure you are really overriding an existing method! Pretty darn useful.

like image 127
Brian Lacy Avatar answered Oct 09 '22 18:10

Brian Lacy