Klassen - Variable

Eine Klassenvariable ist eine Variable, die für alle Instanzen der Klasse gemeinsam Gültigkeit hat. Sie wird also nicht für die einzelnen Instanzen jeweils neu angelegt, sondern nur einaml für die Klasse selbst.

Man deklariert eine Variable als Klassenvariable, indem man static vor die Variable setzt.

Wozu braucht man das?

Wir sicher nicht oft! Ein Beispiel ist ein Objektzähler, mit dem man zählen kann, wie viele Instanzen von einer Klasse erzeugt worden sind. In der Klassendefinition hieße es dann beispielsweise:

public class Test
{
    // Klassenvariable
    private static int anzahl = 0;
    // Instanzvariable
    private int x, y, instanzNummer;

    /**
     * Konstruktor für Objekte der Klasse Test
     */
    public Test()
    {
        // Instanzvariable initialisieren
        x = 0;
        y = 0;
        anzahl++;
        instanzNummer = anzahl;
    }

    // get- und set-Methoden für globale Variable y:
    public void setY(int y) { this.y = y; }
    public int getY() { return y; }
    // get-Methode für Klassenvariable anzahl:
    public int getAnzahl() { return anzahl; }
    // get-Methode für Instanzvariable instanzNummer:
    public int getInstanzNummer() { return instanzNummer; }


    /**
     * Ein Beispiel einer Methode
     */
    public int beispielMethode(int y)
    {
        return x + y;
    }
}

Beachten Sie die bei allen Instanzen bis auf die letzte erzeugte unterschiedlichen Ergebnisse der beiden Methoden getAnzahl() und getInstanzNummer() .


© claus albowski

JAVA
Grundlagen