Diskussion:Java Standard: Muster Singleton
Aus Wikibooks
Implizit synchronisierte Variante
howdy --- eigentlich wuerde es ja schon so reichen
public class Singleton {
// Innere private Klasse, die erst beim Zugriff durch die umgebende Klasse initialisiert wird
// Die Initialisierung von Klassenvariablen geschieht nur einmal
// und wird vom ClassLoader implizit synchronisiert
public static final Singleton INSTANCE = new Singleton();
// Verhindere die Erzeugung des Objektes über andere Methoden
private Singleton () {}
// Eine nicht synchronisierte Zugriffsmethode auf Klassenebene.
public static Singleton getInstance () {
return this.INSTANCE;
}
}
public class Beispiel
{
public void machEtwas()
{
Singleton.INSTANCE.funktion();
// oder Singleton.getInstance().funtion();
}
}
Auch von Interesse waere, wie man ein Singleton - und den Zugriff auf das instance object - bei mehr als einem Classloader (z.b. bei PlugIns oder aehnliches) implentieren sollte. ä