Junior
Чӣ гуна тағйирёбҳои статикӣ ҳастанд?
sobes.tech AI
Ҷавоб аз AI
Променливите, които са статични, принадлежат към класа, а не към конкретен екземпляр. Те съществуват в единствен екземпляр през цялото време на изпълнение на програмата и се споделят от всички обекти на този клас. Промяната на статична променлива от един обект ще бъде видима за другите обекти.
Основни характеристики:
- Принадлежност: към класа.
- Брой екземпляри: Един на класа.
- Време на живот: От зареждането на класа до приключването на програмата.
- Достъп: Обикновено чрез името на класа
ClassName.staticVariable, въпреки че е възможен и достъп чрез екземпляр (не се препоръчва). - Инициализация: Един път при зареждане на класа.
Примери за използване:
- Брояч на създадените обекти на класа.
- Общи константи за цялата класа.
- Общи ресурси, управлявани от класа.
Пример в Java:
class MyClass {
static int counter = 0; // Статична променлива
public MyClass() {
counter++; // Увеличаване на статичния брояч при създаване на обект
}
public static void main(String[] args) {
MyClass obj1 = new MyClass();
MyClass obj2 = new MyClass();
System.out.println(MyClass.counter); // Изход: 2
}
}
Пример в Python:
class MyClass:
counter = 0 # Статична променлива
def __init__(self):
MyClass.counter += 1 # Увеличаване на статичния брояч
def main():
obj1 = MyClass()
obj2 = MyClass()
print(MyClass.counter) # Изход: 2
if __name__ == "__main__":
main()