Когда использовать статический метод и поле?
Я знаю, что такое статическое, но просто не знаю, когда его использовать.
статическая переменная: я использовал ее только для константных полей. Иногда в классе есть десятки констант, поэтому использование статических констант может сэкономить много памяти. Есть ли другие типичные случаи использования?
Статический метод: я использую его, когда создаю класс об алгоритмах. Например, класс, который предоставляет различные алгоритмы сортировки. Это против ООП дизайна? Я думаю, что лучше придерживаться этого способа, чем реализовывать алгоритмы сортировки внутри каждого класса, который должен их использовать. Я ошибся? Какие есть хорошие варианты использования?
Кроме того, есть ли разница в производительности между использованием статических и нестатических полей / методов?