Una explicacion porfa......

Que es una interfaces, para que sirve, como la puedo implementar, en que caso la implemento,
y demen ejemplos reales, o fáciles de enteder Muchas gracias.... xD

es que busco y busco... y no se usarlas no entiendo nada......

Ojo no es una GUI.......

Gracias desde colombia

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Sr. Negativo

Re: explicación porfa

Definir una interface:

Servicio.java

public interface Servicio{

  //nota: puedes escribir solamente el tipo y el nombre del método, omitiendo "pulbic abstract"
   int suma(int a,int b);
}

Creo una clase que "use" la interface, para eso uso la palabra implements

ServicioImpl.java

import java.io.Console;

class ServicioImpl implements Servicio{

//aqui uso el método de la interface Servicio
@Override
public int suma(int a,int b){
    return a+b;
}

   public static void main(String[] args){

    Console cons=System.console();

    cons.pritf("\n\t[Sumar dos numeros]\n");

    int x=Integer.parseInt(cons.readLine("Numero 1:"));
    int y= Integer.parseInt(cons.readLine("Numero 2:"));

    cons.printf("introduciste %d   y   %d",x,y);
    cons.printf("suma obtenida: %d",suma(x,y));
 
}

}

Servido joven.

Imagen de paranoid_android

Un tutorial POO

Hola. Este es un concepto muy básico de programación orientada a objetos (POO o OOP). Aquí hay unas ligas con una definición y ejemplo que te puede servir.
http://www.codexion.com/tutorialesjava/java/concepts/index.html
http://www.codexion.com/tutorialesjava/java/concepts/interface.html

Me agrada la definición de una interfaz como "contrato", sin duda tendrás que practicar haciendo algunos ejemplos básicos y posteriormente profundizar los conceptos.

Las interfaces son muy reales es como preguntar si un automovil tiene ruedas. jajaja. Saludos.

Imagen de ezamudio

Contrato

Precisamente, una interfaz es un contrato. Simplemente define uno o varios métodos (o ninguno incluso). Si una clase declara que implementa dicha interfaz, entonces debe implementar los métodos definidos en la interfaz, o ser abstracta (y así le deja la tarea de implementar dichos métodos a las subclases concretas).

Sirve para tener bajo acoplamiento entre componentes. Imagínate que tú haces un objeto que necesita interactuar con otro objeto, que alguien más va a implementar. Para no obligar a los demás a que extiendan una clase en particular, tú defines simplemente una interfaz, y defines ahí los métodos que vas a invocar:

class MiClase {
  public void interactuar(Otro otro) {
    otro.hacerAlgo();
  }
}

interface Otro {
  public void hacerAlgo();
}

Si luego yo tengo una instancia de MiClase y quiero invocar el método interactuar con un objeto que yo hice, mi objeto puede ser de cualquier clase, pero tiene que implementar la interfaz Otro:

class ObjetoAjeno implements Otro {
  public void hacerAlgo() {
    System.out.println("haciendo algo");
  }
}

Y ahora sí, puedo invocar tu método interactuar pasándole una instancia de ObjetoAjeno, que a tu componente le vale gorro de qué tipo sea, lo único que te interesa es que implemente la interfaz Otro, porque eso es lo que te garantiza que va a tener el método hacerAlgo.

Una interfaz es...

"¿Que es una interfaz?"

En la POO son los métodos que un objeto tiene. Es lo que un objeto dice que puede hacer (por eso el nombre)

Java extiende este concepto al crear un elemento precisamente llamado: interface que define los métodos que una clase se compromete a responder.

"¿Para que sirve, como la puedo implementar?"

Sirve para (como bien dice ezamudio ) desacoplar componentes. Tu puedes escribir un pedazo de software y luego dejar que alguien más ( incluso años después ) implemente el comportamiento. Como no puedes predecir el futuro lo que puedes hacer es decir: "Si alguien cumple con estos métodos yo lo puedo llamar"

Para implementarlo en Java tienes que usar la palabra reservada implements e implementar los métodos de la interfaz.

Ejemplo:

Para usar un método de ordenamiento tienes que poder decir como se compara un objeto contra otro ( los números por ejemplo tienen un orden "natural" , pero que tal un empleado? Cual va antes y cual va después? )

Java tiene precisamente este método para ordenarlistas de cosas, siempre y cuando las cosas sean "Comparables", para hacer una cosa comparable tiene que implementar el método compareTo( object ) para que la clase le diga cual va antes que otro.

Entonces, si se define la clase empleado se puede implementar la interfaz Comparable así:

....
public class Empleado implements Comparable<Empleado> {
    private final String nombre;
    private int edad;
    .... etc.
    @Override
    public int compareTo(Empleado e )  { // implementando el método de la interfaz
         // digamos que los compara por edad
         return this.edad - e.edad;
    }
}

//  uso
List<Empleado> empleados = RecursosHumanos.empleados();// método qeu regresa todos los empleados ...
Collections.sort( empleado );

"Es que busco y busco... y no se usarlas no entiendo nada....."

http://docs.oracle.com/javase/tutorial/java/concepts/interface.html

"Gracias desde colombia"
De nada :)

Felicitar

Muy buena explicación. Me quedó muy claro. Saludos.