Maison  >  Article  >  Java  >  Quelle est la différence entre les classes abstraites et les interfaces Java ?

Quelle est la différence entre les classes abstraites et les interfaces Java ?

Guanhui
Guanhuioriginal
2020-06-08 14:41:112218parcourir

Quelle est la différence entre les classes abstraites et les interfaces Java ?

Quelle est la différence entre les classes abstraites et les interfaces Java ?

Classe abstraite : En Java, une classe modifiée par le mot-clé abstract est appelée une classe abstraite, et une méthode modifiée par le mot-clé abstract est appelée une méthode abstraite. n'ont que des méthodes, pas de corps de méthode. Caractéristiques des classes abstraites :

1. Les classes abstraites ne peuvent pas être instanciées et ne peuvent être héritées que

2. méthodes abstraites ;

3. Le modificateur d'une méthode abstraite dans une classe abstraite ne peut être que public ou protégé, et la valeur par défaut est publique

4. la sous-classe doit implémenter la méthode abstraite Class parent, sinon les sous-classes doivent également être définies comme des classes abstraites

5. Les classes abstraites peuvent contenir des attributs, des méthodes et des constructeurs, mais les constructeurs ne peuvent pas être utilisés pour l'instanciation et sont principalement utilisés. être appelé par les sous-classes.

Interface : L'interface en Java est modifiée avec le mot-clé interface. Les caractéristiques sont :

1 L'interface peut contenir des variables et les méthodes sont désignées comme publiques ; static final par Hermit.La méthode est désignée comme public abstract par Hermit (avant JDK1.8>2. L'interface prend en charge l'héritage multiple, c'est-à-dire qu'une interface peut étendre plusieurs interfaces, ce qui résout indirectement le problème) ; d'héritage unique de classes en Java ;

3. Une classe peut implémenter plusieurs interfaces ;

4 De nouvelles fonctionnalités ont été ajoutées aux interfaces dans JDK1.8 :

    Méthode par défaut (méthode par défaut) : JDK 1.8 permet d'ajouter des implémentations de méthodes non abstraites aux interfaces, mais elles doivent être modifiées avec le mot-clé default ; la méthode qui définit default n'a pas besoin d'être implémentée par la sous-classe d'implémentation, mais ne peut être appelé que par l'objet qui implémente la sous-classe ; si la sous-classe Si une classe implémente plusieurs interfaces et que ces interfaces contiennent la même méthode par défaut, la sous-classe doit remplacer la méthode par défaut
  • Méthode statique : la méthode statique est autorisée dans JDK 1.8. Le mot-clé modifie une méthode et fournit une implémentation, appelée méthode statique d'interface. Les méthodes statiques de l'interface ne peuvent être appelées que via l'interface (nom de l'interface. nom de la méthode statique).
  • Tutoriel recommandé : "
Tutoriel PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn