Всем привет! Я часто с тем, что люди не понимают, что такое static, когда его стоит применять, не понимают разницы между статическим свойством и методом. Когда начал копать чуть глубже и искать подробные ответы, оказалось, что и сам не до конца понимаю. Поэтому решил написать подробный разбор, включить некоторые сторонние темы, чтобы вы знали, когда что лучше использовать. Я уже писал про статические методы, но теперь подробно про всю статику. Давайте сначала разберёмся, что такое статические члены (static members) класса, и чем они отличаются от нестатических (далее — экземплярных)...
В Java ключевое слово static используется для создания переменных и методов, которые общие для всех экземпляров класса, а не относятся к конкретному экземпляру. Иными словами, переменная или метод, объявленные как static, могут быть использованы без создания экземпляра класса и доступны в рамках всего класса. Static переменные хранятся в общей памяти и инициализируются при загрузке класса, а static методы могут быть вызваны напрямую через класс, не требуя создания экземпляра класса. Например, если...