Instanzvariablen:
Instanzvariablen gehören zu einer Instanz einer Klasse – also einem Objekt. Jedes Objekt verfügt über seine eigenen Instanzvariablen. Auf eine Instanzvariable v kann mit this.v zugegriffen werden. Falls keine Verwechslungsmöglichkeit mit einer lokalen Variable gleichen Namens besteht, kann man this auch weglassen.
Klassenvariablen:
Klassenvariablen gehören zu einer Klasse. Unabhängig von der Anzahl der von dieser Klasse erzeugten Objekte existieren sie genau ein Mal. Klassenvariablen werden auch als statische Variablen bezeichnet (Schlüsselwort: static
).
Beispiel:
class Person { private static int count; // Klassenvariable private String name; // Instanzvariable Person(String name) { this.name = name; count++; } String getName() { return name; } int getCount() { return count; } } class Test { public static void main(String[] args) { Person p1 = new Person("Anna"); Person p2 = new Person("Berta"); Person p3 = new Person("Caesar"); System.out.println(p3.getCount()); // Ausgabe: 3 } }
Jedes Mal wenn eine Instanz angelegt wird, wird die statische Variable count im Konstruktor inkrementiert. Am Ende des Programmlaufs hat count den Wert 3.