Junior
Šta su statičke promenljive?
sobes.tech АИ
Одговор од АИ
Statičke promenljive pripadaju klasi, a ne konkretnom primeru. One postoje u jednom jedinom primeru tokom celog trajanja izvršavanja programa i dele se svim objektima te klase. Promena statičke promenljive od strane jednog objekta biće vidljiva drugim objektima.
Glavne karakteristike:
- Pripadnost: Klasi.
- Broj primera: Jedan po klasi.
- Vreme trajanja: Od učitavanja klase do završetka programa.
- Pristup: Obično putem imena klase
ClassName.staticVariable, mada je pristup putem primera takođe moguć (ne preporučuje se). - Inicijalizacija: Jednom pri učitavanju klase.
Primeri upotrebe:
- Brojač kreiranih objekata klase.
- Konstantne vrednosti zajedničke za celu klasu.
- Zajednički resursi kojima upravlja klasa.
Primer u Javi:
class MyClass {
static int counter = 0; // Statička promenljiva
public MyClass() {
counter++; // Povećava statički brojač pri kreiranju objekta
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Izlaz: 2
}
}
Primer u Pythonu:
class MyClass:
counter = 0 # Statička promenljiva
def __init__(self):
MyClass.counter += 1 # Povećava statički brojač
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Izlaz: 2
if __name__ == "__main__":
main()