Введение в static и вложенные классы в Java
Помимо полей и методов у каждого объекта, в Java есть
статические члены: они принадлежат самому
class, а не отдельному экземпляру. Одно
статическое поле или один статический метод общие для
всех объектов типа; к ним можно обратиться по имени
класса, даже если ни одного объекта ещё не создано.
Так оформляют константы, счётчики, фабрики создания
объектов и единственный экземпляр сервиса на программу.
Статические методы не работают с this конкретного
объекта: из их тела напрямую доступны в основном другие
статические члены того же класса.
Класс можно объявить внутри другого класса. Статический вложенный тип не привязан к экземпляру внешнего класса; внутренний (нестатический) класс всегда связан с конкретным внешним объектом и видит его поля. Есть также локальные и анонимные классы - типы «на месте», внутри метода или выражения.
Раздел разберёт статические поля и методы, константы, статический блок инициализации, фабричные методы и паттерн singleton, затем все основные виды вложенных классов и практику на типичных задачах.