Soy completamente nuevo en Android y quiero saber el propósito de la declaración @Override
en Android.significado de android @override
Respuesta
@Override es un Java annotation. Le dice al compilador que el siguiente método overrides es un método de superclass. Por ejemplo, supongamos que implementa 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 el método equals(). El método equals ya está definido en la superclase de Person Object. Por lo tanto, la implementación anterior de equals() es una redefinición de iguales() para Personas.Es decir, la persona anula equals().
Es legal anular los métodos sin anotarlo explícitamente. Entonces, ¿para qué sirve la anotación @Override? ¿Qué pasa si accidentalmente se intentó anular equals() de esa manera:
public boolean equals(Person other) {
...
}
El caso anterior tiene un error. Querías anular equals() pero no lo hiciste. ¿Por qué? porque el real equals() obtiene un objeto como parámetro y tu igual() obtiene una persona como parámetro. El compilador no le informará sobre el error porque el compilador no sabe que usted desea anularlo. Por lo que el compilador puede decir, realmente quisiste decir overload equals(). Pero si se trató de sobrescribir equals usando la anotación @ Override:
@Override public boolean equals(Person other) {
...
}
Ahora el compilador sabe que usted tiene un error. Querías anular pero no lo hiciste. Por lo tanto, la razón para usar la anotación @Override es declarar explícitamente la anulación de método.
Es annotation en Java. Marca que el método está destinado a anular un método en una superclase.
@Override
es un java annotation
.
Indica que una declaración de método está destinada a 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, los compiladores deben generar un mensaje de error.
Vea también
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){
}
}
Tenga en cuenta que es '@ Override' con una O mayúscula, no' @ override'. – Jesper
@Jes Gracias. era un error tipográfico –
Ver este stackoverflow anterior Pregunta:
Debería publicarlo como un comentario, siempre que no brinde más información. – Jonas
Este enlace fue realmente útil, y casi duplicado de esta pregunta. No sé sobre puntuación, pero creo que el vínculo es positivo. – olleolleolle
Es un especial, compilador reservado, anotación Java que denota que está anulando un método de superclase.
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.
Es una anotación Java (no específica de Android). Lo usa para indicar que este método anula un método.
La razón de usar es para detectar errores al crear un método tiene la intención de reemplazar un método, sino a través de algún error, lo hace no , por ejemplo, errata en el nombre del método, un error en la firma del método, etc .. Por ejemplo, a veces los desarrolladores a esto:
class Foo {
public boolean equals(Foo other) {
...
El autor pretende esto para anular la superclase equals
método, pero no lo hace (el parámetro tipo debe ser Object
). El programa compilará bien, pero no usará Foo.equals
como el autor pretendía.
class Foo {
@Override
public boolean equals(Foo other) {
...
La compilación ahora dará un error porque el método no anula a otro método. Esto señala el problema temprano y, con suerte, ahorra tiempo de depuración para rastrear el problema.
Es un java Anotation Su código no requiere que @override funcione correctamente. @override Es algo que el compilador usa para ayudarte. Le está diciendo al compilador que está anulando un método/función en la clase de la que está heredando. ¿Por qué es útil hacer esto? Bien, una vez que el compilador sabe que tiene la intención de anularlo, puede ayudarle a identificar los errores en su código.
public class Person {
public final Cadena firstName; public final String lastName;
// algunos métodos
@Override public String getName() {... }}
public class Employee extends Person {
public String get name() {
......
}
Aquí el compilador mostrará los errores y estará feliz porque lo hace sabe que usted está tratando de reemplazar el método ..
Pero
public class Employee extends Person {
@Override
public String getname() {
.....
}
Aquí, detectará su error y produce un error en tiempo de compilación ...
- 1. El significado de android: colorForeground
- 2. Override Dictionary.Add
- 3. anotación @ Override
- 4. ajustes de configuración Override
- 5. Override de otro módulo
- 6. Eclipse rename/refactoring override
- 7. ¿Dónde escribir @Override?
- 8. override C++ virtual method
- 9. Java Eclipse @ Override error
- 10. override firefox forms.css
- 11. Tumblr sharer url override
- 12. ¿Qué significa @Override?
- 13. Emacs - indentación override
- 14. Significado de algunas constantes de pintura en Android
- 15. iPad Contact Link CSS Override
- 16. anotación @override en JDK 1.6
- 17. Serialization DataMember (name) override issue
- 18. Objective-C: override dynamic getter
- 19. Form_Load() 'event' o Override OnLoad()
- 20. XML Comments for Override Properties
- 21. @group y @override en CSS?
- 22. Comentarios sobre los métodos @ Override
- 23. Funcionamientos internos de C# Virtual e Override
- 24. error de anotación @ Override (Preferencias androide)
- 25. Ruby mixin override método de aclaración
- 26. significado de código de importación de bytes significado
- 27. ¿Cuál es el significado del atributo android: progressBarStyle en ProgressBar?
- 28. significado obsoleto?
- 29. Significado del valor booleano devuelto por un método de gestión de eventos en Android
- 30. Significado de gcc -O2
¡Qué buena respuesta, muy fácil de leer, suave como una serpiente :) – Vass
Así que será un nombre del método totalmente nuevo igual? Depende de mí cómo quiero definir ir? – Chaine