Junior
Was sind statische Variablen?
sobes.tech KI
Antwort von AI
Statische Variablen gehören zur Klasse und nicht zu einer bestimmten Instanz. Sie existieren in einer einzigen Instanz während der gesamten Laufzeit des Programms und werden von allen Objekten dieser Klasse geteilt. Eine Änderung einer statischen Variablen durch ein Objekt ist für andere Objekte sichtbar.
Hauptmerkmale:
- Zugehörigkeit: Zur Klasse.
- Anzahl der Instanzen: Eine pro Klasse.
- Lebensdauer: Vom Laden der Klasse bis zum Ende des Programms.
- Zugriff: In der Regel durch den Klassennamen
ClassName.staticVariable, obwohl auch der Zugriff über eine Instanz möglich ist (nicht empfohlen). - Initialisierung: Einmal beim Laden der Klasse.
Verwendungsbeispiele:
- Zähler für erstellte Objekte der Klasse.
- Konstanten, die für die gesamte Klasse gelten.
- Gemeinsame Ressourcen, die von der Klasse verwaltet werden.
Beispiel in Java:
class MyClass {
static int counter = 0; // Statische Variable
public MyClass() {
counter++; // Erhöht den statischen Zähler bei Objekterstellung
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Ausgabe: 2
}
}
Beispiel in Python:
class MyClass:
counter = 0 # Statische Variable
def __init__(self):
MyClass.counter += 1 # Erhöht den statischen Zähler
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Ausgabe: 2
if __name__ == "__main__":
main()