Я прочитал несколько замечаний разработчиков на других потоках, касающееся использования статических переменный:Что лучше всего использовать статический в Java
- Это стоит памяти: Есть ли способ, чтобы освободить память, занимаемый статическими переменными, когда мы выходим из класса, где они были определены/созданы?
- В чем разница между использованием статических переменных в отношении статических конечных переменных с точки зрения управления памятью, если вы не смогли избежать его использования.
Я понимаю, что использование статики противоречит концепциям OOPS, управление памятью плохое, нарушая концепцию инкапсуляции. Если я использую 5-6 статических переменных, воздействие будет настолько большим, что я буквально должен прекратить его использовать. Или может быть кто-то из вас, ребята, могут предложить мне фактическое использование статического в Java объектно-ориентированного языка программирования?
Что вы подразумеваете под «выходом из класса»? Если вы имеете в виду, когда один метод заканчивается, нет, что, конечно же, не освободит память. Если вам нужна только переменная на протяжении всего метода, она должна быть локальной переменной ... но вы должны беспокоиться о дизайне, а не об использовании памяти, IMO. Покажите нам код, о котором вы беспокоитесь ... –
Не бросайте ребенка с водой для ванны. Static использует его, но я думаю, что самый большой аргумент против ** over ** - использования - это не проблемы с памятью, а потеря преимуществ ООП, рискуя увеличить циклическую сложность. Но, сказав это, я голосую, чтобы закрыть вопрос как мнение, основанное на том, что оно просто вызовет долгую дискуссию. –
вы можете визуализировать статические переменные как ** глобальные переменные **. Они не соответствуют ни одному объекту, а классу в целом. – Batty