Une classe singleton est une classe qui ne peut avoir qu'une seule instance. La réalisation d'une telle classe met en 3#3uvre :
class Singleton {
A champ;
// ...
private static Singleton instance;
private Singleton(A champ) {
this.champ = champ;
// ...
}
// ...
static Singleton uniqueInstance(A champ) {
if (instance == null) {
instance = new Singleton(champ);
}
return instance;
}
}
Cette classe sera utilisée ainsi :
Singleton s1 = Singleton.uniqueInstance(new Double(2.3));
Remarquons que si la méthode uniqueInstance n'est pas appelée, l'instance n'est pas créée : dans une application donnée, cette classe a au plus une instance, elle peut n'en avoir aucune.