Maison > Java > javaDidacticiel > Les méthodes statiques sont-elles vraiment héritées en Java ?

Les méthodes statiques sont-elles vraiment héritées en Java ?

DDD
Libérer: 2024-12-22 06:44:11
original
934 Les gens l'ont consulté

Are Static Methods Truly Inherited in Java?

Héritage des méthodes statiques en Java

Malgré l'affirmation selon laquelle les méthodes statiques ne sont pas héritées en Java, le code démontre le contraire. Cette contradiction pose la question : les méthodes statiques sont-elles vraiment héritées ?

Pour comprendre cet apparent paradoxe, il est essentiel de revisiter le concept d'héritage de membre en Java. Selon le livre, les membres accessibles d'une superclasse (sans utiliser « super ») sont considérés comme hérités.

Cependant, les didacticiels Sun Java offrent une perspective plus large :

  • Les sous-classes héritent de toutes membres publics et protégés de leur classe parent, quel que soit le package.
  • Si la sous-classe est dans le même package, elle hérite également des membres package-private.

Sur cette base, les méthodes statiques sont héritées car elles sont intrinsèquement publiques. Elles sont accessibles par leurs noms simples et ne sont pas liées à des instances spécifiques.

La seule particularité des méthodes statiques héritées est leur comportement lorsque de nouvelles méthodes statiques avec des signatures identiques sont introduites dans les sous-classes. Dans ce cas, la méthode statique existante est masquée et non remplacée. Ce comportement garantit que l'implémentation statique spécifique à la sous-classe reste inchangée.

Par conséquent, l'explication du livre sur l'héritage des membres s'applique à la fois aux méthodes d'instance et aux méthodes statiques, avec la distinction que les méthodes statiques sont toujours visibles et héritées si elles sont accessible en superclasse. De plus, l'accès à une méthode statique cachée dépend du fait que l'invocation se produise à partir de la superclasse ou de la sous-classe.

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!

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