Interfaces et classes d'objets : héritage et invocation de méthodes
En Java, les interfaces offrent un moyen de définir des contrats que les classes peuvent implémenter. Lorsque l'on considère la relation entre les interfaces et la classe Object, cela soulève la question de l'héritage.
Les interfaces héritent-elles de la classe Object ?
La réponse est non . Les interfaces n'héritent pas de la classe Object. Contrairement aux classes, il n'y a pas d'héritage implicite d'une interface racine commune par toutes les interfaces.
Invocation de méthode sur les instances d'interface
Même si vous n'héritez pas d'Object, vous pouvez invoquer des méthodes comme equals() sur les instances d’interface. Comment est-ce possible ?
Chaque interface déclare implicitement une méthode abstraite publique pour chaque méthode publique dans Object. Par conséquent, même si une interface ne déclare pas explicitement la méthode equals(), elle est implicitement déclarée en tant que membre.
Détails de la spécification du langage Java
La spécification du langage Java (JLS) fournit des détails sur ce comportement au § 9.2 Membres d'interface :
Conclusion
Les interfaces en Java n'héritent pas d'Object. Cependant, ils déclarent implicitement des méthodes pour toutes les méthodes Object publiques afin de garantir la compatibilité et de permettre l'invocation de méthodes sur les instances d'interface.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3