Aufbauend auf dem, was in der SO-Frage geschrieben wurde. Beste Singleton-Implementierung in Java - nämlich über die Verwendung einer Aufzählung zum Erstellen eines Singletons - Was sind die Unterschiede / Vor- / Nachteile zwischen (Konstruktor weggelassen)?
public enum Elvis {
INSTANCE;
private int age;
public int getAge() {
return age;
}
}
und dann anrufen Elvis.INSTANCE.getAge()
und
public enum Elvis {
INSTANCE;
private int age;
public static int getAge() {
return INSTANCE.age;
}
}
und dann anrufen Elvis.getAge()
Ein großer Vorteil ist, wenn Ihr Singleton eine Schnittstelle implementieren muss. Folgen Sie Ihrem Beispiel:
Mit:
Mit Statik geht das nicht ...
quelle
(Stateful) Singletons werden im Allgemeinen verwendet, um vorzutäuschen, keine statischen Variablen zu verwenden. Wenn Sie die öffentlich statische Variable nicht tatsächlich verwenden, werden Sie weniger Leute zum Narren halten.
quelle
Ich würde die einfachste und klarste Option wählen. Dies ist etwas subjektiv, aber wenn Sie nicht wissen, was am klarsten ist, wählen Sie einfach die kürzeste Option.
quelle