L'interface peut-elle avoir des méthodes non abstraites ?
L'interface peut-elle avoir des méthodes non abstraites ?

Vidéo: L'interface peut-elle avoir des méthodes non abstraites ?

Vidéo: L'interface peut-elle avoir des méthodes non abstraites ?
Vidéo: JAVA (Intermédiaire) - 34 - Differences entre classes abstraites et Interfaces 2024, Novembre
Anonim

Méthodes d'interface sont par définition publics et abstrait , vous ne pouvez donc pas n'ont pas - méthodes abstraites dans ton interface . A Java, méthodes d'interface sont publics et abstrait par défaut. La première option est donc la mauvaise pratique. Le fait est que vous pouvez n'utilise pas non - méthodes abstraites à l'intérieur de interface , parce qu'ils sont abstrait par défaut.

D'ailleurs, une interface peut-elle avoir des méthodes abstraites ?

Un interface est comme un "purement" abstrait classer. La classe et tous ses méthodes sommes abstrait . Un abstrait classer peut avoir mis en œuvre méthodes mais la classe elle-même ne peut pas être instanciée (utile pour l'héritage et suivant DRY). Si vous mettez en œuvre le Interface alors vous devez mettre en œuvre le méthodes dans le interface.

De plus, la classe abstraite peut-elle avoir des méthodes non abstraites? Oui nous peut avoir un classe abstraite sans pour autant Méthodes abstraites car les deux sont des concepts indépendants. Déclarer un résumé de classe signifie qu'il pouvez ne pas être instancié seul et pouvez seulement être sous-classé. Déclarer un résumé de la méthode signifie que La méthode sera être défini dans la sous-classe.

D'ailleurs, peut-on définir des méthodes en interface ?

Comme une classe, un l'interface peut ont méthodes et variables, mais le méthodes déclaré dans un interface sont par défaut abstraits (seulement méthode signature, pas de corps). Interfaces spécifier ce qu'une classe doit faire et non comment. Si une classe implémente ceci interface , puis il pouvez être utilisé pour trier une collection.

Toutes les méthodes d'une interface doivent-elles être implémentées ?

Oui, il est obligatoire de mettre en œuvre tout les méthodes dans une classe qui implémente un interface à moins que et jusqu'à ce que cette classe soit une classe abstraite. Tu ont deux choix: - mettre en place tous méthode requis par le interface ou - déclarer les disparus méthodes résumé dans votre classe.

Conseillé: