Назад к вопросам
Junior
69
questionbank

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

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

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

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

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

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

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

Пример использования:

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

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