Significado de android @override

Soy completamente nuevo en android y quiero saber el propósito de la declaración @Override en Android.

@Override es una anotación de Java . Indica al compilador que el siguiente método anula un método de su superclase . Por ejemplo, digamos que implemente una clase Person.

 public class Person { public final String firstName; public final String lastName; //some methods @Override public boolean equals(Object other) { ... } } 

La clase de persona tiene un método igual (). El método igual ya está definido en el Objeto de superclase de la Persona. Por lo tanto, la implementación anterior de iguales () es una redefinición de iguales () para Personas. Es decir, la persona sobrescribe es igual a ().

Es legal anular métodos sin anotarlo explícitamente. Entonces, ¿para qué sirve la anotación @Override? ¿Qué pasa si accidentalmente intentó reemplazar equals () de esa manera:

 public boolean equals(Person other) { ... } 

El caso anterior tiene un error. Querías anular a iguales () pero no lo hiciste. ¿Por qué? Porque el verdadero equals () obtiene un Object como parámetro y su equals () obtiene una Persona como parámetro. El compilador no va a decirle acerca del error porque el compilador no sabe que desea anular. Por lo que el compilador puede decir, que en realidad significaba sobrecarga igual (). Pero si intentaste anular iguales usando la anotación @Override:

 @Override public boolean equals(Person other) { ... } 

Ahora el compilador sabe que tiene un error. Querías anularlo pero no lo hiciste. Así que la razón para usar la anotación @Override es declarar explícitamente la anulación del método.

Es una anotación Java (no específica de Android). Lo usa para indicar que este método reemplaza un método.

La razón para usarlo es capturar errores cuando se crea un método que se pretende anular un método, pero a través de algún error, no , por ejemplo, error tipográfico en el nombre del método, un error en la firma del método, etc. Por ejemplo, A veces desarrolladores a esto:

 class Foo { public boolean equals(Foo other) { ... 

El autor pretendía que esto reemplazara el método equals la superclase, pero no (el tipo de parámetro debería ser Object ). El programa compilará bien, pero no usará Foo.equals como el autor pretendió.

 class Foo { @Override public boolean equals(Foo other) { ... 

La compilación ahora dará un error porque el método no anula otro método. Esto señala el problema temprano y con suerte guarda algún tiempo de depuración que rastrea el problema.

Es una anotación Java que le dice al compilador que el método está destinado a anular un método de la superclase. No es estrictamente necesario, pero ayuda a detectar errores en tiempo de compilación.

@Override es una annotation java.

Indica que una declaración de método tiene la intención de anular una declaración de método en una superclase. Si un método se anota con este tipo de anotación pero no anula un método de superclase, se requiere que los compiladores generen un mensaje de error.

Ver también

  • When-do-you-use-javas-override-anotación-y-por qué

Ejemplo:

 class Parent{ public void foo(){ } } class Child extends Parent{ //compile perfect ! @Override public void foo(){ } //will show compile time error message here as it is not being overridden @Override public void foo(int i){ } } 

Es una anotación en Java. Marca que el método está destinado a anular un método en una superclase.

Vea este StackOverflow anterior Pregunta:

Uso de Android @Override

Esa es una anotación Java especial reservada para el compilador que denota que está reemplazando un método de superclase.

  • No puedo localizar el SDK de Android en mi computadora
  • Cómo afirmar dentro de un RecyclerView en Espresso?
  • MQTT vs. XMPP ¿Qué debo elegir?
  • ¿Cómo comprobar el idioma de un dispositivo en android?
  • Reproducir sonido mientras se presiona el botón -android
  • Protocolos de alto nivel para Bluetooth / WiFi Direct Sockets?
  • Android escalonado / multilínea Linear Layout?
  • Simple exportación e importación de una base de datos SQLite en Android
  • Hoja inferior de Android - tema de desplazamiento
  • Android.support.v4.app.FragmentPagerAdapter no se puede aplicar a android.app.FragmentManager
  • Número mágico defectuoso para Bundle en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.