Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android @Override usage [duplicate]

(Newbie to Java, old time C# guy.)

I have noticed a lot of the use of @Override in Android example code. I thought that all Java methods were by default "Virtual"?

What then does @Override do?

Example:

private class HelloWebViewClient extends WebViewClient {      @Override     public boolean shouldOverrideUrlLoading(WebView view, String url) {         view.loadUrl(url);         return true;     } } 
like image 266
Ian Vink Avatar asked Jun 01 '10 13:06

Ian Vink


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 annotation in Android?

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

What is @override in Android Java?

The @Override annotation is one of a default Java annotation and it can be introduced in Java 1.5 Version. The @Override annotation indicates that the child class method is over-writing its base class method.


1 Answers

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.

like image 129
JRL Avatar answered Oct 14 '22 00:10

JRL