Maison >Java >Javacommencer >Quelles sont les similitudes et les différences entre les classes abstraites et les interfaces ?

Quelles sont les similitudes et les différences entre les classes abstraites et les interfaces ?

王林
王林avant
2020-08-13 16:51:362570parcourir

Quelles sont les similitudes et les différences entre les classes abstraites et les interfaces ?

La différence entre les classes abstraites et les interfaces :

(Tutoriel recommandé : Tutoriel d'introduction à Java)

Les deux classes abstraites contient des méthodes abstraites et peut également contenir des méthodes ordinaires non abstraites ; les méthodes de l'interface doivent être des méthodes abstraites.

Le type d'accès des méthodes abstraites dans les classes abstraites peut être public, protégé ou par défaut, mais les méthodes abstraites dans les interfaces ne peuvent être que publiques.

Les classes abstraites peuvent avoir des variables membres ordinaires, tandis que toutes les variables de l'interface sont publiques static final, c'est-à-dire qu'elles sont toutes des constantes.

Les classes abstraites peuvent avoir des constructeurs, mais les interfaces ne peuvent pas avoir de constructeurs.

Les classes abstraites peuvent avoir des méthodes statiques, mais les interfaces ne peuvent pas avoir de méthodes statiques.

Une classe peut implémenter plusieurs interfaces, mais ne peut hériter que d'une seule classe abstraite. Si une classe abstraite implémente une interface, les méthodes de l'interface peuvent être mappées à la classe abstraite en tant que méthodes abstraites sans avoir à les implémenter, et les méthodes de l'interface peuvent être implémentées dans des sous-classes de la classe abstraite.

Les similitudes entre les classes abstraites et les interfaces :

(Recommandation vidéo d'apprentissage : cours java)

  • Les deux Peut être hérité

  • peut contenir des déclarations de méthode

  • ne peut pas être instancié

  • peut être dérivé de classe doit implémenter une méthode non implémentée

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer