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