Voici la plus simple et efficace implémentation d’un Singleton comme décrite par Joshua Bloch en utilisant une enum au lieu d’une classe avec un constructeur privé et une méthode statique pour crée l’instance.
public enum MonSingleton {
INSTANCE;
private MaClass mClass = new MaClass();
public MaClass get() {
return mClass;
}
/**
* la définition de la class
*/
private final class MaClass {
// vos attributs et méthodes...
}
}
Et à l’utilisation ça donne :
MonSingleton.INSTANCE.get();
Voilà