Java/Package

Материал из Энциклопедия о программировании
Перейти к: навигация, поиск

Java package (пакет Java) — основополагающий языка механизм, позволяющий организовать Java классы в пространстве имен аналогично модулям в языке программирования Модула.

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

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

Java пакеты могут содержаться в сжатом виде в JAR файлах. Обычно в пакеты объединяют классы одной и той же категории, либо предоставляющие сходную функциональность.

  • Каждый пакет предоставляет уникальное пространство имен для своего содержимого.
  • Допустимы вложенные пакеты.

Классы, определенные без явно заданных модификаторов доступа (public, protected, private), видимы только внутри пакета.

Class Package Subclass World
private Y
(без) Y Y
protected Y Y Y
public Y Y Y Y
  • private — доступ только внутри класса (наиболее рекомендуемый)
  • (без модификатора) — только внутри пакета (по умолчанию)
  • protected — межпакетный доступ только для sub-class
  • public — межпакетный доступ (наименее рекомендуемый)

Основные пакеты в J2SE 6.0

Шаблон:main

Шаблон:Javadoc:SE — базовая функциональность языка и основные типы
Шаблон:Javadoc:SE — коллекция классов структур данных
Шаблон:Javadoc:SE — операции ввода-вывода
Шаблон:Javadoc:SE — математические операции
Шаблон:Javadoc:SE — новый фреймворк для ввода-вывода
Шаблон:Javadoc:SE — операции с сетями, сокетами, DNS-запросами
Шаблон:Javadoc:SE — генерация ключей, шифрование и дешифрование
Шаблон:Javadoc:SE Java Database Connectivity (JDBC) для доступа к базам данных
Шаблон:Javadoc:SE — иерархия основных пакетов для родных компонентов GUI
Шаблон:Javadoc:SE — иерархия пакетов для платформенной независимости GUI компонентов

См. также