Vidéo: JAVA (Intermédiaire) - 23 - Surcharge et redéfinition de methodes en JAVA 2024
En Java, un membre statique est membre d'une classe qui n'est pas associée à une instance de une classe. Au lieu de cela, le membre appartient à la classe elle-même. Par conséquent, vous pouvez accéder au membre statique sans d'abord créer une instance de classe.
Les deux types de membres statiques sont des champs statiques et des méthodes statiques:
-
Champ statique: Un champ déclaré avec le mot-clé static, comme ceci:
private static int ballCount;
La position du mot-clé static est interchangeable avec les positions des mots-clés de visibilité (privé et public, ainsi que protégé). Par conséquent, l'instruction suivante fonctionne également:
static private int ballCount;
En tant que convention, la plupart des programmeurs ont tendance à mettre le mot clé de visibilité en premier.
La valeur d'un champ statique est la même pour toutes les instances de la classe. En d'autres termes, si une classe a un champ statique nommé CompanyName, tous les objets créés à partir de la classe auront la même valeur pour CompanyName.
Les champs statiques sont créés et initialisés lors du premier chargement de la classe. Cela se produit lorsqu'un membre statique de la classe est référencé ou lorsqu'une instance de la classe est créée, selon la première éventualité.
-
Méthode statique: Méthode déclarée avec le mot-clé static. Comme les champs statiques, les méthodes statiques sont associées à la classe elle-même, et non à un objet particulier créé à partir de la classe. Par conséquent, vous n'avez pas besoin de créer un objet à partir d'une classe avant de pouvoir utiliser les méthodes statiques définies par la classe.
La méthode statique la plus connue est main, appelée par le runtime Java pour démarrer une application. La méthode principale doit être statique, ce qui signifie que les applications s'exécutent dans un contexte statique par défaut.
L'une des règles de base du travail avec les méthodes statiques est que vous ne pouvez pas accéder à une méthode ou un champ non statique à partir d'une méthode statique car la méthode statique n'a pas d'instance de la classe à utiliser pour référencer les méthodes ou champs d'instance.