[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-java-core-kakie-sushchestvuyut-osobennosti-ispolzovaniya-vlozhennykh-klassov-staticheskikh-i-vnutrennikh-v-chem-zaklyuchaetsya-raznitsa-mezhdu-nimi":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":20,"progress":21,"seo":22},45,"kakie-sushchestvuyut-osobennosti-ispolzovaniya-vlozhennykh-klassov-staticheskikh-i-vnutrennikh-v-chem-zaklyuchaetsya-raznitsa-mezhdu-nimi",2,"java-core","Java Core","☕","Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?","+ Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.\n+ Для создания объекта статического вложенного класса объект внешнего класса не требуется.\n+ Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.\n+ Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.\n+ В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статической такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание `.this` после его имени. Например: `Outer.this`.","","middle",[15,16,17,18,19],"core","inner-class","вложенные-классы","static-nested","разница",[],null,{"title":23,"description":24,"ogTitle":25,"ogDescription":26,"keywords":27,"schemaAnswer":32,"featuredSnippetReady":33},"Разница между статическим и внутренним вложенным классом Java — Gymterview","Статический вложенный класс не хранит ссылку на внешний объект и может содержать static-члены. Внутренний класс связан с экземпляром внешнего класса.","Static nested class vs inner class — в чём разница?","Static nested — без ссылки на внешний объект, может иметь static-члены. Inner — хранит ссылку на экземпляр внешнего класса, доступ через Outer.this.",[28,29,30,31],"static nested vs inner class","разница вложенных классов Java","статический вложенный класс","внутренний класс Java","Вложенные классы имеют доступ ко всем членам обрамляющего класса, включая private. Для статического вложенного класса не нужен объект внешнего класса, но из него нельзя напрямую обращаться к нестатическим членам внешнего класса. Обычные внутренние классы не могут содержать static-членов. В объекте внутреннего класса хранится ссылка на внешний объект (Outer.this), в статическом — нет.",true]