Тимур Машнин

Объектно-ориентированное программирование на Java. Платформа Java SE


Скачать книгу

иерархию пакетов.

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

      Подумайте о том, какие классы будут храниться в каждом подпакете.

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

      Таким образом, вы упрощаете использование классов и интерфейсов.

      Далее, мы рассмотрим стандартную библиотеку Java, которая хорошо структурирована на пакеты и подпакеты.

      Хорошо, но когда мы пишем новый класс, как мы можем определить, какой класс принадлежит к какому пакету?

      Это очень просто.

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

      Помните, что определение пакета должно быть первым выражением в исходном файле.

      Имя пакета определяется программистом.

      Это имя должно быть в нижнем регистре, чтобы избежать конфликтов с именами классов и интерфейсов, и не может быть одним из слов, зарезервированных Java, таким как main, for или string.

      И подпакеты задаются с использованием символа точки.

      Таким образом, для создания пакета, нам нужно в файловой системе создать каталоги и подкаталоги, например, каталог transport и подкаталог air.

      Затем поместить в них файлы классов и интерфейсов.

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

      При написании новых программ вам может потребоваться доступ к некоторым классам и интерфейсам из определенного пакета.

      В этом случае вы должны заранее импортировать такие классы.

      Этот импорт должен быть размещен сверху исходного кода класса, сразу после объявления пакета класса, используя слово импорт.

      За оператором импорта должен следовать весь путь пакета, вместе с классом, который вы хотите импортировать.

      И это будет полное квалифицированное имя класса – имя класса вместе с именем его пакета.

      Если вы хотите импортировать все классы в пакете, вы можете использовать символ звездочки.

      Таким образом, вы сможете получить доступ ко всем публичным полям и методам этих классов.

      Полное имя класса – весьма важный момент.

      Разделение классов по пакетам служит не только для удобства, но решает еще одну важную задачу – уникальность имен классов.

      Наверняка в большом проекте будет участвовать много людей и каждый будет писать свои классы.

      И наверняка имена этих классов нередко будут одинаковые.

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

      Единственным спасением различать их – это поместить в разные пакеты.

      Таким