Вложенный пакет в Java - PullRequest
       1

Вложенный пакет в Java

0 голосов
/ 12 октября 2018

Разрешает ли Java вложенные пакеты? Если да, то почему внешний класс не может быть закрытым?Область частного внешнего класса будет внутри этого внутреннего пакета, а область видимости модификатора по умолчанию будет внешним пакетом?

Как

{ // Outer Package

// Scope of default Access Modifier


    {  // Inner Package

       // Scope of private class

        private class Abc{



        }


        class Bcd{

        }

    }

}

Ответы [ 2 ]

0 голосов
/ 12 октября 2018

Никаких вложенных пакетов в Java не существует.

Однако, это тот случай, когда в пакете будет такой класс, что путь к пакету будет выглядеть следующим образом:
com.foo.Bar

И тогда в нем могут существовать дополнительные каталоги пакетов, так что путь к пакету другого класса может выглядеть следующим образом:
com.foo.boo.Lou

Документация Oracle вот ссылка предоставляетхороший обзор контроля доступа для классов.

Этот здесь объясняет, когда использовать вложенные классы, и я думаю, что даст вам лучшее объяснение, которое я приведу ниже:

Используйте его, если ваши требования аналогичны требованиям локального класса, вы хотите сделать тип более доступным и вам не требуется доступ к локальным переменным или параметрам метода.

  • Используйте нестатический вложенный класс (или внутренний класс), если вам требуется доступ к непубличным полям и методам включающего экземпляра.Используйте статический вложенный класс, если вам не нужен этот доступ.

И Вот дополнительная ссылка для получения дополнительной информации о различиях между типами классов и конфиденциальностью пакетов.

Надеюсь, это поможет.

0 голосов
/ 12 октября 2018

Согласно документу , это невозможно:

Оператор package (например, package graphics;) должен быть первой строкой в ​​исходном файле.В каждом исходном файле может быть только один оператор пакета, и он применяется ко всем типам в файле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...