Singleton en JAVA
Il s'agit d'un design pattern. Le but et d'avoir une instance de classe et une seule seulement.
Une explication sur wikipédia
Cf. Classe Statique ou utilitaire
En java, pour créer un singleton, il faut:
- Constructeur privé pour éviter des instanciations extérieures.
- Variable statique finale et privée pour que seule une instance de l'objet existe.
- Accesseur offrant un accès à cette instance (généralement
nommée getInstance).
Voici un squelette de classe nommée Singleton (pas foulé !)
Et un exemple de cas, une valeur est stockée dans le singleton, et elle est récupérée via une autre variable depuis la classe main. La valeur devra être la même que celle stockée intialement, sinon, cela ne marche pas !
Avec la classe main qui va l'utiliser, elle positionne la valeur 5 et la récupère ensuite:
Bon évidemment, je reste dans la même instance de classe MaClasse, mais si le get est effectué dans une autre instance de classe quelconque, elle devra être identique à celle passée depuis l'instance de MaClasse.