Static et classes utilitaires

 

static

static : Ce mot clef est utilisable sur des variables, méthodes ou classes. Il indique que ce qui suit n'est pas lié à une instance mais à une classe: Cette solution permet par exemple d'utiliser une classe sans avoir à l'instancier (C'est ce qui se passe avec Math.PI qui donne la valeur de PI, vous ne déclarez jamais une instance de Math pour connaître la valeur de PI).

Image non trouvée !Evidemment, les variables et méthodes resteront manipulables dans une instance.

Image non trouvée !Les methodes statiques étant indépendantes des instances, elles ne pourront pas manipuler les variables d'intances ou accéder aux méthodes non statiques.

Image non trouvée !Dans le cas d'une classe static, le constructeur est lancé au chargement de la classe. Le constructeur ne pouvant pas exister autrement.

 

Image non trouvée !les méthodes static ne peuvent évidemment pas utiliser this, car this fait référence à une variable d'instance et non de classe.

 

Les classes utilitaires

Les classes utilitaires regroupent des constantes ou des méthodes. Celles-ci sont définies en static, ce qui évite de devoir instancier la classe pour obtenir un résultat.

Exemple, la classe java.lang.Math.

 

Exemple

Exemple de cas d'utilisation d'une classe static, le singleton:

Il y a un setter et un getter pour vérifier que l'on travail sur une seule et même classe.

Une classe contenant le main qui va stocker une valeur dans le singleton:

Et une classe pour lire la donnée positionnée dans le singleton.