Foros del Web » Programación para mayores de 30 ;) » Java »

Duda sobre @Override

Estas en el tema de Duda sobre @Override en el foro de Java en Foros del Web. Hola amigos. Estoy comenzando a leer un poco sobre Struts2, y me encontré con lo siguiente Código PHP: @ Override public  String execute ()  throws Exception  { ...
  #1 (permalink)  
Antiguo 27/03/2009, 07:03
 
Fecha de Ingreso: marzo-2005
Mensajes: 309
Antigüedad: 19 años, 2 meses
Puntos: 1
Duda sobre @Override

Hola amigos.
Estoy comenzando a leer un poco sobre Struts2, y me encontré con lo siguiente

Código PHP:
@Override
public String execute() throws Exception {


Mi duda es, que hace o que objetivo tiene colocar @Override antes de la declaración del metodo? Ya he visto esto
antes en otros codigos en java que he visto.


Espero me puedan ayudar.

Gracias.
  #2 (permalink)  
Antiguo 27/03/2009, 07:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Duda sobre @Override

La documentación es tu amiga:

http://java.sun.com/javase/6/docs/ap.../Override.html
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 27/03/2009, 08:38
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Duda sobre @Override

lo unico que hace es sobrecargar el metodo de la clase superior para que haga algo diferente para lo que esta diseñado originalmente (por decirlo de otra manera, le dice al compilador, no le hagas caso al metodo de la clase padre si no mas bien a este), si no existe ese metodo te marcara un error

Saludos
  #4 (permalink)  
Antiguo 27/03/2009, 08:44
 
Fecha de Ingreso: diciembre-2006
Mensajes: 60
Antigüedad: 17 años, 4 meses
Puntos: 0
Respuesta: Duda sobre @Override

@override sustituye un metodo previo
por ejemplo, en un thread tu reemplazas run
Cita:
class new_thread extends Thread{
@override
public static void run(){
}
}
ya que run ya existe en la clase Thread

saludos
  #5 (permalink)  
Antiguo 27/03/2009, 09:10
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Duda sobre @Override

En realidad ni sobrecarga ni sustituye ni le dice al compilador que haga caso a este y no al del padre, por eso es bueno leerse la documentación .
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #6 (permalink)  
Antiguo 27/03/2009, 09:25
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Duda sobre @Override

Indicates that a method declaration is intended to override a method declaration in a superclass

segun yo si no me falla mi ingles dice

Indica que la declaracion de un metodo esta destinado a anular la declaracion de el metodo en la superclase

entonces esta bien dicho lo que dije, o segun tu que hace?
  #7 (permalink)  
Antiguo 27/03/2009, 09:28
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Duda sobre @Override

¿y si no saben inglés?

Puedes o no poner @Override, la sobrecarga de la clase superior se hace igualmente.

@Override se pone para indicar al compilador que tu intención es sobreescribir el método de la clase padre y si te equivocas (por ejemplo, al escribir el nombre del método) y no estás realmente sobreescribiendo, el compilador dará un error. Si no pones @Override, no dará el error.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 27/03/2009, 13:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Duda sobre @Override

Cita:
Iniciado por drac94 Ver Mensaje
Indicates that a method declaration is intended to override a method declaration in a superclass

segun yo si no me falla mi ingles dice

Indica que la declaracion de un metodo esta destinado a anular la declaracion de el metodo en la superclase

entonces esta bien dicho lo que dije, o segun tu que hace?
Es únicamente una indicación de intenciones al compilador. Ni Override hace que sobrecargue ni le dice que use ese y no el del padre. Si no pones Override, seguirá sobrecargando y seguirá usando ese y no el del padre. A eso me refería. La anotación no afecta para nada al hecho de sobrecargar, es simplemente pedirle al compilador que te avise si te has equivocado al sobrecargar y en realidad no estás sobrecargando nada.


Cita:
Iniciado por chuidiang Ver Mensaje
¿y si no saben inglés?
Si no pueden entender la documentación en inglés, Override es el menor de sus problemas .

Y como nunca he creido que la solución a alguien que tiene hambre sea darle pescado sino enseñarle a pescar...
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #9 (permalink)  
Antiguo 27/03/2009, 14:50
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Duda sobre @Override

Uff, un curso de inglés acelerado me parece mucha pesca.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #10 (permalink)  
Antiguo 27/03/2009, 14:57
Avatar de drac94  
Fecha de Ingreso: mayo-2008
Ubicación: México
Mensajes: 383
Antigüedad: 16 años
Puntos: 5
Respuesta: Duda sobre @Override

Tienes toda la razon GreenEyed, la palabra @Override lo unico que hace es indicarle al compilador lo que qieres hacer, y yo trataba de explicar por que se ponia esa palabra, pero bueno, de todas formas sorry por la confusion

Saludos
  #11 (permalink)  
Antiguo 29/04/2009, 16:52
Avatar de johnxjean  
Fecha de Ingreso: abril-2009
Mensajes: 7
Antigüedad: 15 años
Puntos: 1
Respuesta: Duda sobre @Override

Creo que en simples palabras es que Una clase madre (Mamá) tiene un método para cocinar "metodoCocinar" y resulta que la clase hija (Hija) hereda ese método y tambien sabe cocinar pero,
resulta que la hija aprendio y cocina de diferente manera, entonces estamos en conflicto porque la Hija sigue cocinando como la Mamá, para esto se le agrega a la Hija su propio "metodoCocinar" especificando la nueva manera en que la Hija ahora cocina pero, ahora ya hay dos maneras de cocinar, ¿Cual ha de usarse? pues para que se use el "metodoCocinar" de la Hija se le pone @Override para que ignore las demás definiciones del "metodoCocinar" y sólo se use es que está definido en la Hija y así la Hija ya cocina de su propia manera.
Espero se entienda :P , XD

PD: Ya estaba claro, sólo que algunos entendemos de otra forma.

Saludos.
  #12 (permalink)  
Antiguo 30/04/2009, 12:53
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Respuesta: Duda sobre @Override

Hola:

Y si no pones @Override, la hija también cocina a su manera.

Como se ha comentado más arriba, @Override sólo se pone para que el compilador de error si te equivocas al teclear y pones "funcionCocinar" en vez de "metodoCocinar" o si algún graciosillo viene y le cambia el nombre del método a la Mamá sin avisar a la Hija.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:34.