Статические переменные могут использоваться для управления поведением на уровне приложения, например, указание глобального уровня ведения журнала, сервера для подключения.
Я встречал такие случаи использования в старых приложениях, обычно из других компаний.
В настоящее время использование статических переменных для таких целей, очевидно, плохая практика , но это было не так очевидно, скажем, в 1999 году. Нет Spring, нет log4j, нет кода Clean из RCMartin и т. Д.
Язык Java сейчас довольно старый, и даже если какая-то функция сейчас сильно не рекомендуется, она часто использовалась в начале. И из-за обратной совместимости это вряд ли изменится.