martes, 26 de mayo de 2009

Interface

Los Interfaces son unas clases completamente abstractas que contiene sólo una colección de métodos abstractos y propiedades constantes.

Algunas especificaciones para interfaces:



  • Puede contener solo variables estáticas.
  • Las interfaces pueden extender otras interfaces.En este caso la clase que implemente una interface que extiende de otra interface tiene que implementar todos los métodos de ambas interfaces.
  • Una clase puede implementar cualquier número de interfaces.
  • Una interfaz es implícitamente abstracta. 
  • No es necesario utilizar la palabra clave abstracta al declarar una interfaz.
  • Cada método en una interfaz también es implícitamente abstracto, por lo que la palabra clave abstracta no es necesaria. Esto era antes de Java 8, con esta versión una inteface puede tener un método default o static y con cuerpo.
  • Los métodos en una interfaz son implícitamente públicos.
  • Las variables declaradas en una interfaz no son variables de instancia. En cambio, son implícitamente public, final, y static, y deben inicializarse.  
  • Los métodos son abstratos, default o static pero no ambos.
  • Una clase puede heredar de una sola superclase, pero puede implementar múltiples interfaces.