Skip to main content

Wat zijn statische variabelen?

Statische variabelen, ook wel globale variabelen genoemd, zijn gegevens die niet zijn aangesloten bij een bepaald exemplaar van een klasse.Slechts één waarde voor deze variabelen kan bestaan, ongeacht het aantal gecreëerde klasseobjecten.Afhankelijk van de context kunnen statische variabelen flexibeler of restrictiever zijn dan hun instantievariabele tegenhangers, die hun eigen discrete waarden hebben voor elk specifiek object van een klassentype.Niet meer dan één waarde kan ooit voor een variabele bestaan.Elke opdracht aan de variabele overschrijft de vorige en alle informatie in de vorige waarde gaat verloren.Zonder meerdere kopieën van de variabele kunnen meerdere gegevenswaarden niet worden opgeslagen.Als de waarde wordt gewijzigd, moet elk object dat het beïnvloedt, met de nieuwe waarde functioneren, en als de oude waarde niet bedoeld was om te worden verwijderd, kan de verandering schadelijk zijn voor elk exemplaarobject van een bepaald klassentype.Tenzij de variabele op de een of andere manier wordt vergrendeld bij het maken, kan het risico van niet -verzet veranderde verandering en de daaropvolgende schade aanrichten die het kan aanrichten op objecten, sommige programmeurs waar mogelijk statische variabelen vermijden.beperkend.Zelfs als een variabelenwaarde niet wordt vergrendeld, kunnen geplande wijzigingen in de waarde ervan positieve effecten hebben.Een variabele die wordt gedeeld met alle objecten van een klasse is gegarandeerd consistent en kan zowel binnen als buiten de klas worden gebruikt met vertrouwen dat de waarde ervan altijd hetzelfde is.Variabelen die statisch zijn, hebben verschillende nuttige toepassingen, met name bij het onderhoud van constanten en de implementatie van serialisatie.Vooral Java is sterk afhankelijk van dit statische serialisatiemechanisme.

Er zijn bepaalde algemene regels die programmeurs vaak gebruiken bij het implementeren van statische variabelen.Deze variabelen werken meestal het beste als kleine gegevenswaarden, omdat grote statische objecten een programma veel rigide kunnen maken dan het moet zijn.Kleine gegevenswaarden kunnen snel en gemakkelijk worden gewijzigd zonder al te veel angst om fouten te introduceren.Grote statische objecten kosten meer tijd en moeite om te veranderen en zijn ook meer vatbaar voor een fout die alle klassenobjecten zou verstoren.Dit zijn richtlijnen, geen onbreekbare regels, en er kunnen toepassingen zijn voor zowel kleine als grote variabelen, afhankelijk van het programma.