Qu'est-ce qu'une interface en Java ? Guide du débutant sur l'interface Java. Comment l'utiliser? Exemple ci-joint.
Publié: 2020-10-31
Pourquoi et quand utiliser une Interfaces ?
- Une interface est un type de référence en Java.
- C'est similaire à la classe.
- C'est une collection de méthodes abstraites.
- Il est utilisé pour atteindre une abstraction totale.
Je crois que c'est la première question à laquelle vous pourriez vous attendre dans Java Interview. Questions très basiques mais largement utilisées en entretien
Il n'y a pas de réponse parfaite à cela et il existe plusieurs façons de répondre à cette question. Peut-être votre intervieweur cherche-t-il une approche pratique de ces questions ? Possible.
Commençons ensuite par la définition de base d'une interface Java
Nous reviendrons sur la même chose avec plusieurs exemples.
- Qu'est-ce qu'une interface en Java ?
- Qu'est-ce qu'une interface en java avec un exemple en temps réel ?
- Pourquoi utiliser une interface en java
- Conception d'interface Java
- Les questions d'entretien les plus courantes sur Interface
Fondamentaux de l'interface :

- Une
interface
n'est qu'un contrat, une description du comportement qu'aura une classe d'implémentation. La classe d'implémentation garantit qu'elle disposera de ces méthodes qui pourront être utilisées dessus. C'est essentiellement un contrat ou une promesse que la classe doit faire. - Et si dans vos projets toutes les différentes implémentations partageaient les mêmes signatures de méthode ? L'interface fonctionne mieux dans ce cas.
- À un stade ultérieur, après la mise en œuvre d'un projet majeur, voyons si vous avez implémenté des définitions d'interface à environ 50 emplacements, que se passe-t-il si vous changez d'interface ? Vous devez modifier les 50 emplacements de vos projets.
- Il est conseillé de passer un peu plus de temps à définir l'interface pendant la phase de conception plutôt que de la modifier ultérieurement
- Une interface est composée de variables
singleton
(public static final
) et de méthodespublic abstract
. Nous préférons normalement l'interface en temps réel lorsque nous savons quoi faire mais ne savons pas comment faire. Une interface ne peut pas contenir de champs d'instance. - Les classes qui implémentent l'Interface doivent fournir la définition de méthode pour toutes les méthodes présentes.
- Une classe peut implémenter plusieurs interfaces.
- Une implémentation d'interface peut être ajoutée à n'importe quelle classe tierce existante.
- Une interface peut contenir n'importe quel nombre de méthodes.
- En Java, vous ne pouvez pas instancier une interface.
- Une interface ne contient aucun constructeur.
- Une interface n'est pas étendue par une classe ; il est implémenté par une classe.
- Une interface peut étendre plusieurs interfaces.
Exemples d'interface :
Astuce 1.
Créer une interface CrunchifyDatabaseInterface.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package crunchify . com . java . tutorials ; import java . util . Map ; import java . util . UUID ; /** * @author Crunchify.com * What Is an Interface in Java? Beginners Guide to Java Interface. */ public interface CrunchifyDatabaseInterface { // Basic Database CRUD Operations // Insert boolean insertCrunchifyRecord ( UUID id , String name , String address , String phone , String zip , String comments ) ; // Delete public boolean deleteCrunchifyRecord ( UUID id ) ; // Get public Map < String , String > getListOfAllCrunchifyRecords ( ) ; // Update boolean updateCrunchifyRecord ( UUID id , Map < String , String > records ) ; } |
Astuce 2.
Implémenter l'interface CrunchifyDatabaseOracleImpl.java
Lorsque vous implémentez une interface pour la première fois, Eclipse vous montrera ajouter des méthodes non implémentées.

Cliquez simplement sur " Add unimplemented methods
" et votre classe IMPL devrait être prête avec Auto-generated method stub
.
Astuce 3. Méthode d'implémentation réelle.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
package crunchify . com . java . tutorials ; import java . util . Map ; import java . util . UUID ; /** * @author Crunchify.com * What Is an Interface in Java? Beginners Guide to Java Interface. */ public class CrunchifyDatabaseOracleImpl implements CrunchifyDatabaseInterface { // Override: Indicates that a method declaration is intended to override a method declaration in a supertype. // If a method is annotated with this annotation type compilers are required to generate an error message unless at least one of the following conditions hold: // The method does override or implement a method declared in a supertype. // The method has a signature that is override-equivalent to that of any public method declared in Object. @Override public boolean insertCrunchifyRecord ( UUID id , String name , String address , String phone , String zip , String comments ) { // TODO Provide your actual implementation here based on your need specific to Oracle return false ; } // UUID(): A class that represents an immutable universally unique identifier (UUID). // A UUID represents a 128-bit value. // There exist different variants of these global identifiers. // The methods of this class are for manipulating the Leach-Salz variant, although the constructors allow the creation of any variant of UUID @Override public boolean deleteCrunchifyRecord ( UUID id ) { // TODO Provide your actual implementation here based on your need specific to Oracle return false ; } // Map(): An object that maps keys to values. A map cannot contain duplicate keys; each key can map to at most one value. // This interface takes the place of the Dictionary class, which was a totally abstract class rather than an interface. @Override public Map < String , String > getListOfAllCrunchifyRecords ( ) { // TODO Provide your actual implementation here based on your need specific to Oracle return null ; } @Override public boolean updateCrunchifyRecord ( UUID id , Map < String , String > records ) { // TODO Provide your actual implementation here based on your need specific to Oracle return false ; } } |
Astuce 4.
De la même manière, vous pouvez utiliser la même interface pour implémenter différentes opérations spécifiques à la base de données. Comme, pour DB2, MySQL, MongoDB, Cassandra DB, etc.

Et après?
En cours d'écriture d'un didacticiel sur la classe abstraite, puis d'un autre didacticiel qui montre clairement la différence entre la classe abstraite et l'interface.