Junior
Wat zijn statische variabelen?
sobes.tech AI
Antwoord van AI
Statische variabelen behoren tot de klasse, niet tot een specifiek exemplaar. Ze bestaan in één exemplaar gedurende de hele uitvoering van het programma en worden gedeeld door alle objecten van die klasse. Het wijzigen van een statische variabele door één object zal zichtbaar zijn voor andere objecten.
Belangrijkste kenmerken:
- Toebedeling: Aan de klasse.
- Aantal exemplaren: Eén per klasse.
- Levensduur: Van het laden van de klasse tot het einde van het programma.
- Toegang: Meestal via de naam van de klasse
ClassName.staticVariable, hoewel toegang via een instantie ook mogelijk is (niet aanbevolen). - Initialisatie: Eén keer bij het laden van de klasse.
Gebruik voorbeelden:
- Telwaarden van gemaakte objecten van de klasse.
- Constanten die voor de hele klasse gelden.
- Gedeelde resources beheerd door de klasse.
Java voorbeeld:
class MyClass {
static int counter = 0; // Statische variabele
public MyClass() {
counter++; // Verhoogt de statische teller bij het maken van een object
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Uitvoer: 2
}
}
Python voorbeeld:
class MyClass:
counter = 0 # Statische variabele
def __init__(self):
MyClass.counter += 1 # Verhoogt de statische teller
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Uitvoer: 2
if __name__ == "__main__":
main()