Interface dans Java avec exemple

Qu'est-ce que l'interface dans Java?

An Interface dans Java Le langage de programmation est défini comme un type abstrait utilisé pour spécifier le comportement d'une classe. UN Java l'interface contient des constantes statiques et des méthodes abstraites. Une classe peut implémenter plusieurs interfaces. Dans Java, les interfaces sont déclarées à l'aide du mot-clé interface. Toutes les méthodes de l'interface sont implicitement publiques et abstraites.

Syntaxe de déclaration de l'interface

Pour utiliser une interface dans votre classe, ajoutez le mot-clé « impléments » après le nom de votre classe suivi du nom de l'interface.

interface {
//methods
}

Exemple d'implémentation de l'interface

Maintenant, comprenons l'interface dans Java avec exemple :

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Cliquez sur en cliquant ici si la vidéo n'est pas accessible

Pourquoi une interface est-elle requise ?

Comprendre l'utilisation de l'interface dans Java mieux, voyons un Java exemple d'interface. La classe « Media Player » comprend deux sous-classes : lecteur CD et lecteur DVD. Chacun ayant sa propre implémentation d'interface dans Java méthode pour jouer de la musique.

Pourquoi une interface est-elle requise

Une autre classe « Lecteur Combo » hérite à la fois du CD et du DVD (voir l'image ci-dessous). De quelle méthode de jeu doit-il hériter ? Cela peut entraîner de sérieux problèmes de conception. Et par conséquent, Java ne permet pas plusieurs héritage.

Pourquoi une interface est-elle requise

Prenons maintenant un autre exemple de Dog.

Supposons que vous ayez une exigence selon laquelle la classe « chien » hérite des classes « animal » et « Pet » (voir l'image ci-dessous). Mais vous ne pouvez pas prolonger deux classes dans Java. Alors que ferais-tu ? La solution est l'Interface.

Pourquoi une interface est-elle requise

Le livre de règles de l'interface dit :

  • A Java l'interface d'implémentation est une classe 100% abstraite et n'a que méthodes abstraites.
  • La classe peut implémenter n'importe quel nombre d'interfaces.

La classe Dog peut s'étendre à la classe « Animal » et implémenter une interface en tant que « Pet ».

Pourquoi une interface est-elle requise

Java Exemple d'interface :

Comprenons le programme d'interface ci-dessous dans Java:

Étape 1) Copiez le code suivant dans un éditeur.

interface Pet{
  public void test();
}
class Dog implements Pet{
   public void test(){
     System.out.println("Interface Method Implemented");
  }
   public static void main(String args[]){
     Pet p = new Dog();
     p.test();
  }
}

Étape 2) Enregistrez, compilez et exécutez le code. Observez la sortie de l'interface dans Java Programme.

Différence entre classe et interface

Classe
Interface
En classe, vous pouvez instancier une variable et créer un objet. Dans une interface, vous ne pouvez pas instancier une variable et créer un objet.
La classe peut contenir des méthodes concrètes (avec implémentation) L'interface ne peut pas contenir de méthodes concrètes (avec implémentation)
Les spécificateurs d'accès utilisés avec les classes sont privés, protégés et publics. Dans l'interface, un seul spécificateur est utilisé : Public.

Quand utiliser l’interface et la classe abstraite ?

  • Utiliser une classe abstraite lorsqu'un modèle doit être défini pour un groupe de sous-classes
  • Utiliser une interface lorsqu'un rôle doit être défini pour d'autres classes, quel que soit l'arbre d'héritage de ces classes

Doit connaître des faits sur l'interface

  • A Java la classe peut implémenter plusieurs Java Interfaces. Il faut que la classe implémente toutes les méthodes déclarées dans les interfaces.
  • La classe doit remplacer toutes les méthodes abstraites déclarées dans l'interface
  • L'interface permet d'envoyer un message à un objet sans se préoccuper des classes auxquelles il appartient.
  • La classe doit fournir des fonctionnalités pour les méthodes déclarées dans l'interface.
  • Toutes les méthodes d'une interface sont implicitement publiques et abstraites
  • Une interface ne peut pas être instanciée
  • Une référence d'interface peut pointer vers des objets de ses classes d'implémentation
  • Une interface peut s'étendre à partir d'une ou plusieurs interfaces. La classe ne peut étendre qu'une seule classe mais implémenter n'importe quel nombre d'interfaces
  • Une interface ne peut pas implémenter une autre interface. Il doit étendre une autre interface si nécessaire.
  • Une interface déclarée dans une autre interface est appelée interface imbriquée.
  • Au moment de la déclaration, la variable d'interface doit être initialisée. Sinon, le compilateur générera une erreur.
  • La classe ne peut pas implémenter deux interfaces en Java qui ont des méthodes portant le même nom mais un type de retour différent.

Résumé :

  • La classe qui implémente l'interface doit fournir des fonctionnalités pour les méthodes déclarées dans l'interface
  • Toutes les méthodes d'une interface sont implicitement publiques et abstraites
  • Une interface ne peut pas être instanciée
  • Une référence d'interface peut pointer vers des objets de ses classes d'implémentation
  • Une interface peut s'étendre à partir d'une ou plusieurs interfaces. Une classe ne peut étendre qu'une seule classe mais implémenter n'importe quel nombre d'interfaces