**This is an old revision of the document!**
Lokale Variablen
Definition: Variablen, die innerhalb einer Methode oder eines Blocks deklariert werden.
Sichtbarkeit: Nur innerhalb der Methode oder des Blocks, in dem sie deklariert wurden.
Lebensdauer: Existieren nur während der Ausführung der Methode oder des Blocks.
Globale Variablen (Instanz- und Klassenvariablen)
Definition: Variablen, die außerhalb von Methoden, aber innerhalb einer Klasse deklariert werden.
Sichtbarkeit: Abhängig von den Zugriffsmodifikatoren (private, protected, public), aber generell innerhalb der gesamten Klasse.
Lebensdauer: Existieren während der gesamten Lebensdauer der Instanz (bei Instanzvariablen) oder der Klasse (bei Klassenvariablen).
Beispielcode
public class VariableExample {
// Globale Variable (Instanzvariable)
private int globalCounter = 0;
// Globale Variable (Klassenvariable)
private static int globalStaticCounter = 0;
public void demonstrateLocalVariable() {
// Lokale Variable
int localCounter = 0;
for (int i = 0; i < 5; i++) {
localCounter++;
globalCounter++;
globalStaticCounter++;
System.out.println("Local Counter: " + localCounter);
System.out.println("Global Counter: " + globalCounter);
System.out.println("Global Static Counter: " + globalStaticCounter);
}
}
public static void main(String[] args) {
VariableExample example = new VariableExample();
example.demonstrateLocalVariable();
// Zugriff auf die Klassenvariable ohne Instanz
for (int i = 0; i < 5; i++) {
globalStaticCounter++;
System.out.println("Global Static Counter in main: " + globalStaticCounter);
}
}
}
Erklärung
Lokale Variable localCounter wird innerhalb der Methode demonstrateLocalVariable deklariert und ist nur dort sichtbar.
Instanzvariable globalCounter ist innerhalb der gesamten Klasse sichtbar und wird bei jeder Instanz der Klasse VariableExample separat gehalten.
Klassenvariable globalStaticCounter ist ebenfalls innerhalb der gesamten Klasse sichtbar, aber es gibt nur eine Kopie dieser Variable, die von allen Instanzen der Klasse geteilt wird.