Maison > Java > javaDidacticiel > le corps du texte

Les interfaces Java peuvent-elles être héritées ?

青灯夜游
Libérer: 2019-11-18 14:38:58
original
7564 Les gens l'ont consulté

Les interfaces Java peuvent-elles être héritées ?

Les interfaces Java peuvent-elles être héritées ?

Les interfaces Java peuvent être héritées, et il s'agit d'un héritage multiple, mais seules les interfaces peuvent hériter des interfaces, et les classes ne peuvent implémenter que des interfaces. Une interface peut hériter d'une ou de plusieurs interfaces, et une classe commune peut implémenter plusieurs interfaces.

Une interface est un ensemble de valeurs constantes et de définitions de méthodes. Une interface est un type particulier de classe abstraite.

Les classes Java sont à héritage unique. classB Extends classA

L'interface Java peut être multi-héritée. Interface3 étend Interface0, Interface1, interface...

La principale raison pour laquelle l'héritage multiple de classes n'est pas autorisé est que si A hérite de B et C en même temps, et que B et C ont un D en même temps, comment A décide-t-il de la méthode ? De laquelle devriez-vous hériter ?

Mais ce problème n'existe pas avec les interfaces. Les interfaces sont toutes des méthodes abstraites et peu importe qui en hérite, les interfaces peuvent donc hériter de plusieurs interfaces.

Remarque :

1) Si une classe implémente une interface, elle doit implémenter toutes les méthodes de l'interface.

2) Le nom, le type de retour et les paramètres de la méthode doivent être exactement les mêmes que ceux de l'interface. Si le type de retour de la méthode n'est pas vide, le corps de la méthode doit avoir au moins une instruction return.

3) Parce que la méthode d'interface est de type public par défaut, elle doit être modifiée avec public lors de l'implémentation (sinon elle est par défaut de type protégé, ce qui réduit le champ d'utilisation de la méthode).

Exemple :

interface A{
    void a1();
}
 
interface B{
    void b1();
}
 
interface C extends A,B{//注意该语法只对接口的继承是合法的
    void c1();
}
 
class D implements C{
 
    @Override
    public void a1() {}
 
    @Override
    public void b1() {}
 
    @Override
    public void c1() {}
}
Copier après la connexion

Caractéristiques de l'interface :

1 Les interfaces sont implicitement abstraites Lors de la déclaration d'une interface, vous n'avez pas besoin d'utiliser l'abstrait. Personnage clé.

2. Chaque méthode de l'interface est également implicitement abstraite, et le mot-clé abstract n'est pas non plus requis lors de sa déclaration.

3. Les méthodes de l'interface sont toutes publiques.

4. Lors de la compilation, le modificateur public abstract est automatiquement ajouté aux méthodes définies dans l'interface

5. Les variables membres de l'interface Java ne peuvent être modifiées que conjointement avec public static final, et. doit se voir attribuer une valeur initiale, vous n'avez pas besoin d'écrire public static final, elle sera ajoutée automatiquement lors de la compilation.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!