Logo: Marc Harnist

N° 247 - Interface: les classes interfaces (voir aussi: abstraite)
 - Le 06/07/2018 Catégorie: lexicon

Une interface est une classe abstraite dont toutes les méthodes sont abstraites et dont tous les attributs sont constants. (Constantes).
Depuis Java 8, elle ne sont plus obligatoirement toutes abstraites. On peut maintenant y définir des méthodes statiques et une définition par défaut des méthodes.
C'est:
Liste de méthodes dont on donne seulement la signature
C'est comme un contrat: ce qu'on attend d'un objet
Peut être implémentée par une ou plusieurs classes qui doivent donner une implémentation pour chacune des méthodes annoncées (et éventuellement d'autres).
Une classe peut implémenter plusieurs interfaces (permettant un héritage multiple, en les séparant par des virgules après le mot (code) "implements").
Toutes les méthodes d'une interface sont implicitement abstraites.
Une interface n'a pas de constructeurs
Une interface ne peut avoir des champs mais uniquement statiques.
Une interface peut être étendue par une ou plusieurs interfaces.