Maison >Java >javaDidacticiel >Les sous-classes Java héritent-elles des méthodes statiques ?

Les sous-classes Java héritent-elles des méthodes statiques ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 06:15:09587parcourir

Do Java Subclasses Inherit Static Methods?

Héritage des méthodes statiques en Java : clarification de l'explication du livre

Malgré l'affirmation du livre selon laquelle les méthodes statiques ne sont pas héritées, Java autorise les sous-classes pour hériter de toutes les méthodes accessibles, y compris les méthodes statiques. L'exemple fourni dans la question illustre ce comportement, car la méthode statique display() est accessible dans la sous-classe B sans l'utilisation de super.

Cet héritage découle de la règle fondamentale de l'héritage Java, qui stipule qu'un La sous-classe hérite de tous les membres publics, protégés et (au sein du même package) privés de package de sa superclasse. La distinction réside dans la façon dont les méthodes statiques et non statiques interagissent avec les méthodes nouvellement définies dans les sous-classes.

Lorsqu'une sous-classe définit une nouvelle méthode non statique avec la même signature qu'une méthode héritée, elle remplace la méthode parent. Cependant, avec les méthodes statiques, la définition d’une nouvelle méthode dans la sous-classe ne fait que masquer la méthode parent. En effet, les méthodes statiques sont liées à la classe elle-même, tandis que les méthodes non statiques sont associées aux instances de la classe.

Par conséquent, l'explication du livre concerne principalement les méthodes non statiques, qui héritent de l'accessibilité en fonction de leur visibilité déclarée (publique, protégée ou package-privée). Les méthodes statiques, en revanche, adhèrent à la règle plus large de l'héritage et sont disponibles pour les sous-classes tant qu'elles sont accessibles.

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