**This is an old revision of the document!**
Lokale Variablen
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) =====
Globale Variablen (Instanz- und Klassenvariablen)
- Definition: Variablen, die außerhalb von Methoden, aber innerhalb einer Klasse deklariert werden.
- Instanzvariablen: Werden ohne das Schlüsselwort
staticdeklariert. - Klassenvariablen: Werden mit dem Schlüsselwort
staticdeklariert.
- 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
download
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.