Maison >Java >javaDidacticiel >Les sous-classes Java héritent-elles des méthodes statiques ?
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!