Instanzvariable

Variable als Instanzen von Klassen sind sozusagen der "Normalzustand".

Im Kopf der Klassendefinition wird deklariert und z.B. im Konstruktor definiert:

public class Test
{
         // Instanzvariable
         private int x,y;

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

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

Jedesmal, wenn eine Instanz dieser Klasse erzeugt wird - also beim Aufruf von new Test(>irgendeine ganze Zahl<); - wird auch eine neue Variable angelegt. Sie steht ja für ein Attribut des erzeugten Objektes und ist daher Teil dieses Objektes. Andere Instanzen der selben Klasse haben andere Variable, die zwar nicht dieselben Werte haben müssen, aber haben können.

Jede Instanz kann dann die Werte ihrer eigenen Instanzvariablen ändern, ohne daß sich diese Änderung auf andere Instanzen auswirkt; diese haben nicht einmal Kenntnis vom Zugriff auf die eine Instanzvariable.

Beachten Sie, dass die Variablen x und y privat deklariert sind, also Kapselung erfüllt ist.

Ein weiterer beachtenswerter Aspekt hängt mit der Variablen y zusammen, die im o.a. Text zweimal auftaucht, einmal als globale Instanz-Variable, und andererseits als lokale Variable der Methode beispielMethode.


© claus albowski

JAVA
Grundlagen