Skip to main content

Qu'est-ce qu'une méthode statique?

Une méthode de programmation informatique orientée objet qui est déclarée dans une classe mais qui ne dépend d'une instanciation particulière de cette classe est appelée méthode statique.La plupart des langages de programmation incluent le mot-clé statique dans la déclaration d'une méthode pour rendre une méthode statique.Ces méthodes appartiennent strictement à la classe dans laquelle ils sont contenus et non à aucun objet instancié de cette classe.Ils sont fréquemment appelés Méthodes de classe .

Le nom littéral de la classe est normalement utilisé pour accéder à une méthode statique au lieu de le référer avec le nom d'un objet instancié.Il est permis à Java d'utiliser les noms d'objets pour désigner ces méthodes, mais il est fortement découragé.Si un nom d'objet est utilisé, une personne lisant le code peut confondre l'une de ces méthodes avec une méthode d'instance.

Les méthodes statiques sont souvent utilisées dans les classes d'utilité qui ne dépendent pas des variables d'instance d'une classe particulière.Ils sont également utilisés lorsqu'un programmeur doit accéder à la méthode, mais il n'est pas nécessaire d'instancier la classe dans laquelle il est contenu. Les classes d'utilité ne sont normalement pas instanciées dans les objets.Il serait inhabituel qu'une méthode utilitaire ait besoin de modifier les informations de l'objet.Une méthode de la classe java.lang.math, telle que POW (), serait un exemple de la façon dont ce type de méthode serait utilisé dans une classe d'utilité.

Les méthodes d'instance peuvent accéder directement aux variables d'instance, variables statiques, méthodes d'instanceet méthodes statiques.Les méthodes statiques ne peuvent pas accéder directement aux variables d'instance et aux méthodes d'instance.En raison de la nature des méthodes d'instance ayant un meilleur accès aux membres de la classe que des méthodes statiques, les méthodes d'instance sont le type de méthodes normalement utilisées dans les classes régulières.

Un inconvénient majeur des méthodes statiques se produit pendant l'héritage lorsque le polymorphisme est utilisé.Tant que la méthode statique des parents n'est pas déclarée finale, la même méthode statique de l'enfant peut être codée dans la classe infantile comme si elle était remplacée.Ceci est techniquement appelé cacher au lieu de remplacer car une méthode statique ne peut pas être remplacée.

Lorsque la cachette est utilisée, si la méthode statique des parents est accessible à l'aide du nom de classe, la méthode parent sera utilisée.Si la méthode statique de l'enfant remplacée est accessible à l'aide du nom de l'objet, la méthode enfant remplacée sera utilisée.Le problème se produit lorsqu'un objet enfant est upcast en tant que parent.Dans ce cas, un appel à la méthode statique Upcast Child utilisera la méthode parent au lieu de la méthode de l'enfant attendu.Avec le vrai polymorphisme, la méthode de l'enfant serait celle activée après un upcast.