Что такое статический класс?

В Java не существует статических классов на верхнем уровне. static применим к вложенным (nested) классам.

Короткий ответ

Что ответить на собеседовании

В Java не существует статических классов на верхнем уровне. static применим к вложенным (nested) классам.

Подробный разбор

Ответ с пояснениями

В Java не существует статических классов на верхнем уровне. static применим к вложенным (nested) классам.

Static Nested Class (Статический_вложенный_класс):

  • Объявляется с модификатором static внутри другого класса (outer class).
  • Не имеет доступа к нестатическим полям и методам внешнего класса напрямую, только через экземпляр внешнего класса (если понадобится).
  • Может иметь доступ к статическим полям и методам внешнего класса напрямую.
  • Создается без создания экземпляра внешнего класса.
  • Используется для группировки связанных классов или для удобства доступа к утилитарным классам.

Пример создания:

class Outer {
    static class StaticNested {
        // поля и методы статического вложенного класса
    }
}

Пример:

// Создание экземпляра статического вложенного класса
Outer.StaticNested nestedObject = new Outer.StaticNested();

Таким образом, "статический класс" в контексте Java обычно подразумевает статический вложенный класс.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее