Java Reference
In-Depth Information
// Datei: ToolTipManager2.java
final public class ToolTipManager2
{
private static ToolTipManager2 instance = new ToolTipManager2();
private ToolTipManager2()
{
System.out.println ("ToolTipManager2 erzeugt.");
}
public static ToolTipManager2 getInstance()
{
System.out.println ("ToolTipManager2::getInstance()");
return instance;
}
public void operation()
{
// eigentliche Funktionalität des Singleton
System.out.println ("operation() aufgerufen.");
}
}
Es ist zu sehen, dass sich die Vereinbarung der Klassenvariable
instance
von der
ersten Variante unterscheidet.
In der zweiten Variante wird sofort beim Programmstart ein Exemplar der Klasse
ToolTipManager
erzeugt und nicht erst beim Aufruf von
getInstance()
.
Der Zugriff erfolgt dabei - wie in der ersten Variante - mit Hilfe der Methode
get-
Instance()
. Im Folgenden die Klasse
Client2
:
// Datei: Client2.java
public class Client2
{
public static void main (String[] args)
{
ToolTipManager2.getInstance().operation();
ToolTipManager2.getInstance().operation();
ToolTipManager2.getInstance().operation();
}
}
Die Ausgabe des Programms ist:
ToolTipManager2 erzeugt.
ToolTipManager2::getInstance()
operation() aufgerufen.
ToolTipManager2::getInstance()
operation() aufgerufen.
ToolTipManager2::getInstance()
operation() aufgerufen.
Search WWH ::
Custom Search