static nested class? [дубликат]

177
19 января 2019, 13:30

На данный вопрос уже ответили:

  • Зачем нужен static class? 3 ответа

для чего нужен static nested class? и как его использовать?

Answer 1

Вложенные классы — элементы содержащего их класса. Статические — не имеют доступ к членам внешнего класса. Как и другие поля класса, вложенные классы могут быть объявлены как private, public, protected, или package private. Для чего использовать вложенные классы Вот некоторые причины использования вложенных классов:

Это хороший способ группировки классов, которые используются только в одном месте: если класс полезен только для одного другого класса, то логично будет держать их вместе. Вложение таких вспомогательных классов делает код более удобным. Инкапсуляция: допустим, есть два класса A и B, классу B требуется доступ к свойству класса A, которое может быть приватным. Вложение класса B в класс A решит эту проблему, более того сам класс B можно скрыть от внешнего использования. Улучшение читаемости и обслуживаемости кода: вложение малых классов в более высокоуровневые классы позволяет хранить код там, где он используется. Вложенные классы Как статические переменные и методы, вложенный (статический) класс связан с внешнимклассом. И так же как и статические методы не может напрямую обращаться к полям объекта внешнего класса.

Доступ к вложенному классу осуществляется с помощью следующей конструкции:

OuterClass.StaticNestedClass

Синтаксис создания объекта вложенного класса:

OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();

Подробнее можно почитать в этом уроке Вложенные и внутренние классы в Java. Часть 1

Answer 2

Для логической группировки взаимозависимых классов и улучшения инкапсуляции. Например, класс из стандартной библиотеки HashMap содержит в себе объявление статического класса Node, объекты которого используются для хранения пар ключ-значение.

READ ALSO
Как получить ссылку со страницы в WebView?

Как получить ссылку со страницы в WebView?

Есть страница contentFinal, которая загружается в WebView через фильтры JsoupВ загруженной странице есть ссылки, ведущие на другие страницы сайта

150
не работает компановщик (setLayout)

не работает компановщик (setLayout)

Застрял на одном месте, скорее всего не вижу очевидного

172
Как подружить Payara (GlassFish) с MySQL

Как подружить Payara (GlassFish) с MySQL

Всем приветПытаюсь сделать свой небольшой pet-проект на Spring Boot с Payara в качестве Web сервера

164