Ты упомянул статические вложенные классы — можешь привести пример использования?

Статический вложенный класс Java не хранит неявную ссылку на экземпляр внешнего класса; его удобно использовать для Builder, вспомогательного типа или результата операции.

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

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

Статический вложенный класс Java не хранит неявную ссылку на экземпляр внешнего класса; его удобно использовать для Builder, вспомогательного типа или результата операции.

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

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

Статический вложенный класс Java не хранит неявную ссылку на экземпляр внешнего класса; его удобно использовать для Builder, вспомогательного типа или результата операции.

Пример с Builder показывает связь типов без обязательного внешнего объекта:

class Request {
    private final String path;
    private Request(String path) { this.path = path; }

    static class Builder {
        private String path = "/";
        Builder path(String value) { path = value; return this; }
        Request build() { return new Request(path); }
    }
}

Создание выглядит как new Request.Builder().path("/health").build(). В отличие от нестатического inner class, здесь не требуется экземпляр Request для создания Builder. Статичность не делает поля Builder общими для всех его экземпляров.

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

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

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

Подробнее