Junior
Was bedeutet der Begriff 'statisch'?
sobes.tech KI
Antwort von AI
In der Programmierung kann der Begriff "statisch" sich auf verschiedene Konzepte beziehen, bezeichnet aber meist etwas, das mit der Kompilierungszeit oder der Zugehörigkeit zu einer Klasse zu tun hat, und nicht mit einer konkreten Instanz eines Objekts.
- Statische Bindung (Static Binding): Die Definition der aufgerufenen Funktion erfolgt zur Compile-Zeit, nicht zur Laufzeit. Dies steht im Gegensatz zur dynamischen Bindung.
- Statische Variablen/Felder (Static Variables/Fields): Variablen, die zur Klasse gehören, nicht zu einer konkreten Instanz dieser Klasse. Alle Objekte einer Klasse teilen sich die gleiche statische Variable. Sie werden beim Laden der Klasse initialisiert und existieren in einer einzigen Instanz.
- Statische Methoden (Static Methods): Methoden, die zur Klasse gehören, nicht zu einem konkreten Objekt. Sie können direkt über den Klassennamen aufgerufen werden, ohne eine Instanz zu erstellen. Statische Methoden haben keinen Zugriff auf nicht-statische Felder der Klasse, da sie nicht mit einer konkreten Instanz verbunden sind.
- Statische Code-Analyse (Static Code Analysis): Analyse des Quellcodes eines Programms ohne dessen Ausführung. Wird verwendet, um potenzielle Fehler, Sicherheitslücken oder Verstöße gegen Codierungsstandards in frühen Entwicklungsphasen zu erkennen.
Im QA-Kontext sind statische Analyse und Code-Tests wichtige Teile des Prozesses, die helfen, die Qualität vor der Phase der dynamischen Tests und der Code-Ausführung zu verbessern.
Beispiel für statische Felder und Methoden in Java:
class Counter {
static int count = 0; // Statisches Feld
Counter() {
count++;
}
static void displayCount() { // Statische Methode
System.out.println("Anzahl der Instanzen: " + count);
}
}
// Verwendung
// Counter obj1 = new Counter();
// Counter obj2 = new Counter();
// Counter.displayCount(); // Aufruf der statischen Methode über den Klassennamen