Maison > Java > JavaBase > La différence entre l'interface Java et la classe abstraite

La différence entre l'interface Java et la classe abstraite

(*-*)浩
Libérer: 2019-11-11 11:18:02
original
3422 Les gens l'ont consulté

La différence entre l'interface Java et la classe abstraite

Interface

Concept

Une interface est un ensemble qui encapsule certaines fonctions . Pour abstraire un type de comportement, utilisez la modification de l'interface. (Apprentissage recommandé : cours java)

public interface InfClass {
    public void say();
}
Copier après la connexion

Cours abstrait

Concept

En termes simples , une classe contenant une méthode abstraite est une classe abstraite. Une méthode abstraite n'a qu'un corps de méthode et aucune implémentation. Elle est modifiée avec abstract.

abstract class AbsClass {
    abstract void say();
}
Copier après la connexion

Java fournit et prend en charge la création de classes et d'interfaces abstraites. Leurs implémentations ont quelque chose en commun, la différence est :

Toutes les méthodes de l'interface sont implicitement abstraites. Une classe abstraite peut contenir à la fois des méthodes abstraites et non abstraites.

Une classe peut implémenter de nombreuses interfaces, mais elle ne peut hériter que d'une seule classe abstraite

Une classe n'a pas besoin d'implémenter toutes les méthodes déclarées par classes et interfaces abstraites , bien entendu, dans ce cas, la classe doit également être déclarée abstraite.

Les classes abstraites peuvent implémenter des interfaces sans fournir d'implémentations de méthodes d'interface.

Les variables déclarées dans l'interface Java sont définitives par défaut. Les classes abstraites peuvent contenir des variables non finales.

Les fonctions membres dans les interfaces Java sont publiques par défaut. Les fonctions membres d'une classe abstraite peuvent être privées, protégées ou publiques.

Les interfaces sont absolument abstraites et ne peuvent pas être instanciées, et les classes abstraites ne peuvent pas être instanciées.

Si une classe implémente une interface, elle doit implémenter toutes les méthodes de l'interface, et une classe abstraite ne le fait pas nécessairement

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal