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

metodos abstractos

Estas en el tema de metodos abstractos en el foro de Java en Foros del Web. Hola he visto en la wikipedia que una interfaz es un conjunto de metodos abstractos y constantes. http://es.wikipedia.org/wiki/Interfaz_(Java ) pero he visto en una web ...
  #1 (permalink)  
Antiguo 23/11/2011, 14:11
Avatar de hackjose  
Fecha de Ingreso: abril-2010
Ubicación: Edo Mexico
Mensajes: 1.178
Antigüedad: 14 años
Puntos: 131
metodos abstractos

Hola he visto en la wikipedia que una interfaz es un conjunto de metodos abstractos y constantes.

http://es.wikipedia.org/wiki/Interfaz_(Java)

pero he visto en una web que no es necesario que sea abstracto, entonces cual es lo correcto?
  #2 (permalink)  
Antiguo 23/11/2011, 15:45
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: metodos abstractos

Ambas son correctas. Lo que pasa es que una interfaz no es mas que un clase abstracta con todos sus metodos abstractos.

El tu definir o no un metodo como abstract en tu interfaz no tiene ningun efecto, aun asi la clase que implemente la interfaz debe sobreescribir (o en este caso, implementar) todos los metodos definidos en la interfaz.
  #3 (permalink)  
Antiguo 28/11/2011, 16:31
Usuario no validado
 
Fecha de Ingreso: junio-2008
Mensajes: 386
Antigüedad: 15 años, 9 meses
Puntos: 10
Respuesta: metodos abstractos

Una interfaz, se pordria decir que es una clase abstracta llevada al limite, es decir, 100% abstracta.

Todos los metodos de una interfaz son abstractos implicitamente, es decir, no tienes que definir al metodo como abstracto.

Y Todas las variables en tu interfaz, sin implicitamente constantes, es decir, public static final

Ejemplo:

public interface Prueba {
String s="";
public static final int i=0;

public void metodoUno();
void metodoDos();
abstract void metodoTres();

}


Lo que el compilador realmente ve es esto:

public interface Prueba {
public static final String s="";
public static final int i=0;

abstract public void metodoUno();
abstract void metodoDos();
abstract void metodoTres();

}

Saludos!

Etiquetas: metodos
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 22:41.