Wie lässt sich sicherstellen, dass nur ein Objekt einer Klasse erstellt werden kann?
Der Konstruktor der Klasse wird private deklariert. Somit ist kein Zugriff von außen möglich und eine Objektbildung unterbunden. Ein Objekt der Klasse wird jedoch als statisches, finales, nach außen unsichtbares Feld erstellt. Der Zugriff hierauf wird durch eine getter-Methode - hier getInstance() gewährleistet.
public class Singleton {
private static final Singleton OBJ = new Singleton();
private Singleton() {
System.out.println("Objekt gebildet...");
}
public static Singleton getInstance() {
return OBJ;
}
}
Ein Aufruf erfolgt über die statische Methode:
Singleton s = Singleton.getInstance();
und liefert immer das gleiche Objekt.
Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.