Maison >Java >javaDidacticiel >Les interfaces Java héritent-elles de la classe Object ?

Les interfaces Java héritent-elles de la classe Object ?

DDD
DDDoriginal
2024-10-29 11:08:30663parcourir

 Do Java Interfaces Inherit from the Object Class?

Les interfaces héritent-elles de la classe d'objet en Java ?

En Java, les interfaces agissent comme des modèles pour déclarer les signatures de méthodes et fournir des implémentations abstraites. Une idée fausse courante est de savoir si les interfaces héritent de la classe Object comme le font les classes standard.

Aucun héritage de la classe Object

Contrairement à la croyance populaire, les interfaces n'héritent pas directement de la classe Objet. Cela signifie qu'ils n'ont pas accès à des méthodes comme equals(), hashCode(), toString() ou wait() par défaut.

Appel de méthodes de classe d'objet sur les interfaces

Même si elles n'héritent pas d'Object, les interfaces peuvent toujours appeler des méthodes de la classe Object. En effet, les interfaces déclarent implicitement des méthodes abstraites publiques correspondant à toutes les méthodes d'instance publiques dans Object, à moins qu'elles n'héritent déjà de ces méthodes d'une superinterface.

Par exemple, considérons le code suivant :

<code class="java">interface Employee {
}

public class Test {
    public static void main(String[] args) {
        Employee e = null;
        e.equals(null);
    }
}</code>

Dans ce code, l'interface Employee ne déclare pas explicitement de méthode equals(). Cependant, l'expression e.equals(null) se compile avec succès car la méthode equals() est implicitement déclarée dans Employee (et toutes les autres interfaces) en tant que méthode abstraite publique.

Raison de la déclaration implicite de l'interface de Méthodes d'objet

Cette déclaration implicite des méthodes d'objet dans les interfaces permet aux interfaces d'interagir de manière transparente avec l'écosystème Java plus large. Il permet aux interfaces de tirer parti des méthodes de bibliothèque standard pour la comparaison d'objets, le hachage, la représentation sous forme de chaîne et la synchronisation sans définir explicitement ces méthodes.

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