Interfaces Java

Una interfaz en Java es una colección de métodos abstractos y propiedades. En ellas se especifica qué se debe hacer pero no su implementación. Serán las clases que implementen estas interfaces las que describan la lógica del comportamiento de los métodos.
La principal diferencia entre interface y abstract es que un interface proporciona un mecanismo de encapsulación de los protocolos de los métodos sin forzar al usuario a utilizar la herencia.

-

El uso de interfaces proporciona las siguientes ventajas:

    Organizar la programación.
    Obligar a que ciertas clases utilicen los mismos métodos (nombres y parámetros).
    Establecer relaciones entre clases que no estén relacionadas.

-

interface Bicycle {

    //  wheel revolutions per minute
    void changeCadence(int newValue);

    void changeGear(int newValue);

    void speedUp(int increment);

    void applyBrakes(int decrement);
}