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.
