Sobes.tech
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.