~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 1ED04D000F2F5050DCF593FB639FA003__1716011100 ✰
Заголовок документа оригинал.:
✰ Java package - Wikipedia ✰
Заголовок документа перевод.:
✰ Java-пакет — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Java_package ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/1e/03/1ed04d000f2f5050dcf593fb639fa003.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/1e/03/1ed04d000f2f5050dcf593fb639fa003__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 15:09:46 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 18 May 2024, at 08:45 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Java-пакет — Википедия Jump to content

Java-пакет

Из Википедии, бесплатной энциклопедии

Пакет Java организует Java классы в пространства имен . [1] предоставление уникального пространства имен для каждого содержащегося в нем типа. Классы в одном пакете могут получать доступ к частным и защищенным членам пакета друг друга.

В общем, пакет может содержать следующие типы типов : классы, интерфейсы , перечисления и аннотаций типы . Пакет позволяет разработчику группировать классы (и интерфейсы) вместе. Все эти классы будут каким-то образом связаны – все они могут иметь отношение к конкретному приложению или выполнять определенный набор задач. Программисты также обычно используют пакеты для организации классов, принадлежащих к одной и той же категории или предоставляющих схожие функциональные возможности.

Использование пакетов [ править ]

В исходном файле Java пакет, к которому принадлежит класс или классы этого файла, указывается с помощью package ключевое слово . Это ключевое слово обычно является первым ключевым словом в исходном файле. В исходном файле может присутствовать не более одного объявления пакета.

пакет   java.awt.event  ; 

Чтобы использовать классы пакета внутри исходного файла Java, удобно импортировать классы из пакета с помощью importдекларация. Следующее заявление

импортировать   java.awt.event.*  ; 

импортирует все классы из java.awt.event пакет, а следующая декларация

импортировать   java.awt.event.ActionEvent  ; 

импортирует только ActionEventкласс из пакета. После любой из этих импортных деклараций ActionEvent на класс можно ссылаться, используя его простое имя класса:

ActionEvent   myEvent   =   новый   ActionEvent  (); 

Классы также можно использовать напрямую, без объявления импорта, используя полное имя класса. Например,

Джава  .   ок  .   событие  .   ActionEvent   myEvent   =   новый   Java  .   ок  .   событие  .   ДействиеСобытие  (); 

не требует предшествующей импортной декларации.

Javadoc для всего пакета и аннотации [ править ]

Документация, объясняющая пакет в целом, записывается в формате Javadoc в файле с именем package-info.java. Этот файл также является местом для аннотаций, которые будут использоваться во всех классах пакета. [2]

Безымянный пакет [ править ]

Если объявление пакета не используется, классы помещаются в безымянный пакет. Классы в безымянном пакете не могут быть импортированы классами из любого другого пакета. [3] Официальный учебник Java не рекомендует этого делать:

Вообще говоря, безымянный пакет предназначен только для небольших или временных приложений или когда вы только начинаете процесс разработки. В противном случае классы и интерфейсы принадлежат именованным пакетам. [4]

Защита доступа к пакету [ править ]

Открытые члены и классы видны повсюду, а частные члены видны только в одном классе. Классы внутри пакета могут получать доступ к классам и членам, объявленным с доступом по умолчанию ( package-private ), а также к членам класса, объявленным с помощью protectedмодификатор доступа. Доступ по умолчанию (частный пакет) применяется, когда класс или член не объявлен как public, protected или private. Напротив, классы в других пакетах не могут получить доступ к классам и членам, объявленным с доступом по умолчанию. Однако члены класса заявили, что protected Доступ к ним можно получить из классов в том же пакете, а также из классов в других пакетах, которые являются подклассами объявляющего класса. [5]

Создание файлов JAR [ править ]

Файлы JAR создаются с помощью утилиты командной строки jar. Команда

jar cf myPackage.jar *.class
 

сжимает все файлы .class в JAR-файл myPackage.jar . Опция «c» в командной строке сообщает команде jar «создать новый архив». Опция 'f' сообщает о необходимости создания файла. Имя файла следует перед содержимым файла JAR.

Соглашения об именах пакетов [ править ]

Пакеты обычно определяются с использованием иерархического именования шаблона , при этом некоторые уровни иерархии разделены точками ( ., произносится как «точка»). Хотя пакеты ниже в иерархии именования часто называют «подпакетами» соответствующих пакетов выше в иерархии, между пакетами почти нет семантических отношений. Спецификация языка Java устанавливает соглашения об именах пакетов, чтобы избежать возможности того, что два опубликованных пакета будут иметь одно и то же имя. Соглашения об именах описывают, как создавать уникальные имена пакетов, чтобы широко распространенные пакеты имели уникальные пространства имен. Это позволяет легко и автоматически устанавливать и каталогизировать пакеты отдельно.

Как правило, имя пакета начинается с имени домена верхнего уровня организации, затем домена организации, а затем всех поддоменов, перечисленных в обратном порядке. Затем организация может выбрать конкретное имя для своего пакета. Последующие компоненты имени пакета различаются в зависимости от внутренних соглашений об именах организации. [6]

Например, если канадская организация MySoft создает пакет для работы с дробями, назвав его ca.mysoft.fractions отличает пакет дробей от другого аналогичного пакета, созданного другой компанией. Если немецкая компания MySoft также создаст пакет дробей, но назовет его de.mysoft.fractions , то классы в этих двух пакетах определяются в уникальном и отдельном пространстве имен.

Полные соглашения по устранению неоднозначности имен пакетов и правила именования пакетов, когда имя домена Интернета не может быть напрямую использовано в качестве имени пакета, описаны в разделе 7.7 Спецификации языка Java. [7]

Базовые пакеты в Java SE 8 [ править ]

java.lang базовые функции языка и фундаментальные типы, доступные без использования оператора импорта.
java.util коллекции структуры данных классы
java.io файловые операции
java.math арифметика с множественной точностью
Java.девять платформа неблокирующего ввода-вывода для Java
java.net сетевые операции, сокеты, поиск DNS , ...
java.security генерация ключей, шифрование и дешифрование
java.sql Java Database Connectivity (JDBC) для доступа к базам данных
java.awt базовая иерархия пакетов для собственных компонентов графического интерфейса
java.текст Предоставляет классы и интерфейсы для обработки текста, дат, чисел и сообщений способом, независимым от естественных языков.
java.rmi Предоставляет пакет RMI.
Java.время Основной API для дат, времени, моментов и продолжительности.
java.beans Пакет java.beans содержит классы и интерфейсы, связанные с компонентами JavaBeans.
Java.апплет Этот пакет предоставляет классы и методы для создания апплетов и взаимодействия с ними.

Модули [ править ]

В Java 9 (выпущенной 21 сентября 2017 г.) поддержка «модулей», своего рода коллекции пакетов, была реализована в результате усилий разработчиков Project Jigsaw. «Модули» ранее назывались «суперпакетами» и изначально планировались для Java 7.

Модули описывают свои зависимости в объявлении, размещенном в файле с именем Module-info.java в корне иерархии исходных файлов модуля. Начиная с Java 9 , JDK может проверять зависимости модулей как во время компиляции, так и во время выполнения. Сам JDK является модульным для Java 9 . [8] [9]

Ссылки [ править ]

  1. ^ Джеймс Гослинг, Билл Джой, Гай Стил, Гилад Брача, Спецификация языка Java, третье издание , ISBN   0-321-24678-0 , 2005 г. Во введении говорится: «Глава 7 описывает структуру программы, которая организована в пакеты, аналогичные модулям Modula».
  2. ^ «Глава 7. Пакеты и модули» . docs.oracle.com . Проверено 10 декабря 2021 г.
  3. ^ «Глава 7. Пакеты» . Docs.oracle.com . Проверено 15 сентября 2013 г.
  4. ^ «Создание и использование пакетов (Учебные пособия по Java™ > Изучение языка Java > Пакеты)» . docs.oracle.com .
  5. ^ «Управление доступом к членам класса (Учебные пособия по Java™ > Изучение языка Java > Классы и объекты)» . docs.oracle.com .
  6. ^ Соглашения о коде для языка программирования Java: 9. Соглашения об именах.
  7. ^ «Пакеты» . docs.oracle.com .
  8. ^ «Сводка модуля JDK» . Корпорация Оракл . 23 октября 2015 г. Архивировано из оригинала 8 декабря 2015 г. Проверено 29 ноября 2015 г.
  9. ^ «Понимание модулей Java 9» . Корпорация Оракл . 1 октября 2017 года . Проверено 4 октября 2022 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 1ED04D000F2F5050DCF593FB639FA003__1716011100
URL1:https://en.wikipedia.org/wiki/Java_package
Заголовок, (Title) документа по адресу, URL1:
Java package - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)