Implementar interfaces – Java

  • La clase que implementa debe implementar todos los métodos de la interface.
  • Una clase puede implementar más de una interface:

public class Quert implements InterfaceA, InterfaceB {}

  • Una interface puede extender otra interface, pero nunca puede implementar:

public InterfaceA extends InterfaceB {}

  • Una interface puede extender más de una interface:

public InterfaceA extends InterfaceB, interfaceC {}

  • Una clase que implementa puede ser abstracta:

abstract class Qwert implements InterfaceA {}

Aquí la subclase concreta que extienda la clase abstracta Qwert debe implementar todos los métodos de la interface.

  • Ejemplos:

class Foo { } // OK
class Bar implements Foo { } // No. Una clase no puede implementar una clase
interface Baz { } // OK
interface Fi { } // OK
interface Fee implements Baz { } // No. Una interface no puede implementar una interface
interface Zee implements Foo { } // No. Una interface no puede implementar una clase
interface Zoo extends Foo { } // No. una interface no puede extender una clase
interface Boo extends Fi { } // OK.  Una interface puede extender una interface
class Toon extends Foo, Button { } // No. Una clase no puede extender varias clases
class Zoom implements Fi, Fee { } // OK.  Una clase puede implementar varias interfaces
interface Vroom extends Fi, Fee { } // OK. Una interface puede extender varias interfaces
class Yow extends Foo implements Fi { } // OK. Una clase puede ambas. (extends deber estar primero)