Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
☕️ Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
☕️ Для создания объекта статического вложенного класса объект внешнего класса не требуется.
☕️ Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
☕️ Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
☕️ В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статической такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание .this после его имени. Например: Outer.this.
#вопросы_с_собеседований