Встречается на собеседованиях • сегодня

Какие плюсы и минусы использования static

Плюсы:

  • Эффективность: static-методы и переменные принадлежат классу, а не экземпляру, что экономит память.
  • Глобальный доступ: можно использовать без создания объекта класса.
  • Удобство для утилитных классов (например, Math.random()).
  • Общие данные: static-переменные разделяются между всеми экземплярами.

Минусы:

  • Нарушение ООП: static-методы не могут быть переопределены (нет полиморфизма).
  • Сложность тестирования: зависимости через static сложно мокировать.
  • Потенциальные утечки: static-переменные живут до завершения программы.
  • Проблемы многопоточности: общее состояние требует синхронизации.

Пример:

java
class Counter {
    static int count = 0; // Общая для всех экземпляров переменная
    
    Counter() {
        count++;
    }
    
    static void printCount() {
        System.out.println("Total: " + count);
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы