Java Reference
In-Depth Information
identisch. Dieser Sachverhalt soll mit Hilfe statischer Attribute durch das folgende Pro-
gramm demonstriert werden.
Bild 5.1 zeigt das Fenster des Demo-Programms unmittelbar nach dem Start. Im oberen Teil
sieht man ein Label für Meldungen, das zu Beginn leer ist, und im unteren Teil einen Button
mit der Beschri ung „Neue Aktion!“, den man klicken kann.
Bild 5.1 Demo-Programm zur
gleichzeitigen Nutzung
mehrerer Versionen einer
Klasse (Zeitpunkt 1)
Bei jedem Klick auf den Button „Neue Aktion!“ wird dem Fenster ein neuer Button mit der
Beschri ung „Aktion 1!“, „Aktion 2!“, „Aktion 3!“ usw. hinzugefügt. An jeden dieser Buttons
wird ein Listener angemeldet, in dessen Konstruktor ein neues Objekt des Typs MultiVer-
sionClass erzeugt wird. Beim Drücken auf den Button wird die Methode newMessage aufge-
rufen und der zurückgegebene String in das Label des Fensters geschrieben. In Listing 5.6
sehen wir die Version der Klasse MultiVersionClass zu dem Zeitpunkt, als der Button „Neue
Aktion!“ zum ersten Mal geklickt wurde.
Listing 5.6 Klasse MultiVersionClass
package javacomp.basics;
public class MultiVersionClass
{
private static int staticCounter;
private static String version = "Version 1";
private int counter;
public String newMessage()
{
staticCounter++;
counter++;
return "counter=" + counter +
", staticCounter=" + staticCounter +
", version=" + version;
}
}
In Bild 5.2 sehen wir, wie das Fenster aussieht, nachdem der Button „Neue Aktion!“ einmal
und der dadurch erscheinende Button „Aktion 1!“ vier Mal geklickt wurde. Die Ausgabe, die
im Label zu sehen ist, sollte keine Verwunderung auslösen. Durch viermaliges Klicken auf
„Aktion 1!“ wurde die Methode newMessage vier Mal aufgerufen. Entsprechend wurde
sowohl das Attribut counter als auch das statische Attribut staticCounter vier Mal erhöht
 
Search WWH ::




Custom Search