В программировании термин "статический" может относиться к различным концепциям, но чаще всего обозначает что-то, связанное со временем компиляции или принадлежностью к классу, а не к конкретному экземпляру объекта.
- Статическое связывание (Static Binding): Определение вызываемой функции происходит во время компиляции, а не выполнения. Это противоположно динамическому связыванию.
- Статические переменные/поля (Static Variables/Fields): Переменные, принадлежащие классу, а не конкретному объекту этого класса. Все объекты одного класса разделяют одну и ту же статическую переменную. Они инициализируются при загрузке класса и существуют в единственном экземпляре.
- Статические методы (Static Methods): Методы, принадлежащие классу, а не конкретному объекту. Они могут быть вызваны непосредственно через имя класса без создания экземпляра объекта. Статические методы не имеют доступа к нестатическим полям класса, так как они не связаны с конкретным экземпляром.
- Статический анализ кода (Static Code Analysis): Анализ исходного кода программы без его выполнения. Используется для выявления потенциальных ошибок, уязвимостей или нарушений стандартов кодирования на ранней стадии разработки.
В QA-контексте, статический анализ и тестирование кода являются важной частью процесса, помогающей улучшить качество до этапа динамического тестирования и исполнения кода.
Пример статического поля и метода в Java:
java