#java #классы #static #inner
На этот вопрос уже даны ответы здесь: Зачем нужен static class? (3 ответа) Закрыт 2 года назад. для чего нужен static nested class? и как его использовать?
Ответы
Ответ 1
Вложенные классы — элементы содержащего их класса. Статические — не имеют доступ к членам внешнего класса. Как и другие поля класса, вложенные классы могут быть объявлены как private, public, protected, или package private. Для чего использовать вложенные классы Вот некоторые причины использования вложенных классов: Это хороший способ группировки классов, которые используются только в одном месте: если класс полезен только для одного другого класса, то логично будет держать их вместе. Вложение таких вспомогательных классов делает код более удобным. Инкапсуляция: допустим, есть два класса A и B, классу B требуется доступ к свойству класса A, которое может быть приватным. Вложение класса B в класс A решит эту проблему, более того сам класс B можно скрыть от внешнего использования. Улучшение читаемости и обслуживаемости кода: вложение малых классов в более высокоуровневые классы позволяет хранить код там, где он используется. Вложенные классы Как статические переменные и методы, вложенный (статический) класс связан с внешнимклассом. И так же как и статические методы не может напрямую обращаться к полям объекта внешнего класса. Доступ к вложенному классу осуществляется с помощью следующей конструкции: OuterClass.StaticNestedClass Синтаксис создания объекта вложенного класса: OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass(); Подробнее можно почитать в этом уроке Вложенные и внутренние классы в Java. Часть 1Ответ 2
Для логической группировки взаимозависимых классов и улучшения инкапсуляции. Например, класс из стандартной библиотеки HashMap содержит в себе объявление статического класса Node, объекты которого используются для хранения пар ключ-значение.
Комментариев нет:
Отправить комментарий