Java Reference
In-Depth Information
aus einem Attribut ein statisches Attribut ( Abbildung 7.1 ). Es existiert unabhängig von
den Objekten der Klasse.
public class Bruchtest1 {
public static void main(String[] args) {
Bruch a = new Bruch();
Bruch b = new Bruch();
}
}
class Bruch {
int zaehler;
int nenner;
static int anzahlBrueche;
}
class Bruch
anzahlBrueche
7
Bruch a
Bruch b
zaehler
nenner
anzahlBrueche
zaehler
nenner
anzahlBrueche
Abbildung 7.1 Statisches Attribut zum Zählen der Instanzen der Klasse »Bruch«
Dadurch lässt sich das Attribut auch schon ansprechen, bevor überhaupt ein Objekt mit
new erzeugt wurde. Es wird dann mit dem Klassennamen angesprochen. So kann mit der
Anweisung
System.out.println(Bruch.anzahlBrueche);
der aktuelle Zählerstand an der Konsole ausgegeben werden.
Damit der Zähler die Anzahl der aktuell erzeugten Objekte der Klasse Bruch wiedergibt,
muss bei der Definition mit dem Wert 0 initialisiert
static int anzahlBrueche = 0;
und in jedem Konstruktor der Wert des Zählers mit
anzahlBrueche++;
erhöht werden. Bei der Verkettung müssen Sie darauf achten, dass die Erhöhung tat-
sächlich pro erzeugtes Objekt auch nur einmal erhöht wird.
Ein weiteres Beispiel für die Verwendung von static sind öffentliche Konstanten. Wir
haben bereits eine solche öffentliche Konstante verwendet. In der Klasse Kreis haben
wir die Kreiszahl PI verwendet. Mit Math.PI konnten wir auf die Kreiszahl zugreifen. Es
handelt sich bei Math um eine Klasse, in der eine Vielzahl mathematischer Funktionen
und Konstanten zur Verfügung gestellt werden. Unter anderem ist dort auch die Kreis-
zahl als
Search WWH ::




Custom Search