Junior — Middle
Čo je rozdiel medzi statickou premennou v programovaní a aké má vlastnosti?
sobes.tech AI
Odpoveď od AI
Statická premenná je premenná, ktorá patrí k triede, nie k konkrétnemu príkladu objektu. Existuje v jednom jedinom príklade pre celú triedu a zachováva svoju hodnotu medzi volaniami metód.
Charakteristiky statických premenných:
- Zdieľaná všetkými inštanciami triedy: všetky objekty triedy zdieľajú rovnakú statickú premennú.
- Je inicializovaná raz pri načítaní triedy.
- Je dostupná bez vytvorenia inštancie triedy (cez názov triedy).
- Používa sa na ukladanie stavu alebo dát spoločných pre všetky objekty.
Príklad v Jave:
public class Counter {
public static int count = 0;
public Counter() {
count++;
}
}
// Použitie:
Counter c1 = new Counter();
Counter c2 = new Counter();
System.out.println(Counter.count); // Vypíše 2
V testovaní môžu statické premenné spôsobovať ťažkosti, pretože ich stav sa zachováva medzi testami, čo môže viesť k nechceným vedľajším efektom. Preto je dôležité čistiť alebo izolovať statické dáta v testoch.