Если вы хотите, чтобы класс был статическим по своей природе, то есть иметь только 1 копию в программе (ВМ), то есть два очевидных механизма:
1. Сделать все члены и методы класса статическими (Java / C #).
2. Используйте шаблон проектирования Singleton.
Для этого случая (статического характера) у нас нет языковой конструкции, и, следовательно, используется один из вышеперечисленных методов.
Что касается вашего вопроса для этого случая, такие классы должны быть созданы, если вы хотите, чтобы ваша функциональность была доступна глобально, неизменна и мгновенно доступна, например, служебные методы, глобальные константы и т. д.
Во-вторых, ключевое слово «static» используется с классами для увеличения их видимости в пакете. Это ключевое слово может применяться только к внутренним классам и обеспечивает доступ к внутренним классам без контекста их родительского класса.
Статические классы такого типа должны использоваться только для тех внутренних классов, которые служат своей цели в родительском классе, а также полезны вне класса или пакета, например. Ключ POJO.