Junior
Kas yra statinės kintamosios?
sobes.tech AI
Atsakymas iš AI
Statinės kintamosios priklauso klasei, o ne konkrečiam egzemplioriui. Jos egzistuoja viename egzemplioriuje viso programos vykdymo metu ir yra bendrinamos visų tos klasės objektų tarp. Keisdami statinę kintamąjį vienas objektas, tai matys ir kiti.
Pagrindinės savybės:
- Priklausomybė: klasei.
- Egzempliorių skaičius: vienas kiekvienai klasei.
- Gyvavimo laikas: nuo klasės įkėlimo iki programos pabaigos.
- Prieiga: Dažniausiai per klasės pavadinimą
ClassName.staticVariable, nors prieiga per egzempliorių taip pat įmanoma (nerekomenduojama). - Inicijavimas: vieną kartą įkeliant klasę.
Naudojimo pavyzdžiai:
- Sukurtų klasių objektų skaitiklis.
- Visai klasei bendros konstantos.
- Bendri ištekliai, valdoma klase.
Java pavyzdys:
class MyClass {
static int counter = 0; // Statinė kintamoji
public MyClass() {
counter++; // Didina statinį skaitiklį kuriant objektą
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Išeiga: 2
}
}
Python pavyzdys:
class MyClass:
counter = 0 # Statinė kintamoji
def __init__(self):
MyClass.counter += 1 # Didina statinį skaitiklį
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Išeiga: 2
if __name__ == "__main__":
main()