Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Core packages in Java SE 6




Язык JAVA. Пакеты и организация пространства имен.

http://ru.wikipedia.org/wiki/Package_%28Java%29

http://en.wikipedia.org/wiki/Java_package

http://ru.wikipedia.org/wiki/Пространство_имён_(программирование)#Java

http://www.codenet.ru/webmast/java/08.php

Package — механизм, позволяющий управлять пространством имен Java-программы.

Java packages can be stored in compressed files called JAR files, allowing classes to download faster as a group rather than one at a time. Programmers also typically use packages to organize classes belonging to the same category or providing similar functionality.

  • A package provides a unique namespace for the types it contains.
  • Classes in the same package can access each other's package-access members.

Классы, определенные без явно заданных модификаторов доступа (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 — межпакетный доступ (наименее рекомендуемый)
java.lang — basic language functionality and fundamental types
java.util — collection data structure classes
java.io — file operations
java.math — multiprecision arithmetics
java.nio — the New I/O framework for Java
java.net — networking operations, sockets, DNS lookups,...
java.security — key generation, encryption and decryption
java.sql — Java Database Connectivity (JDBC) to access databases
java.awt — basic hierarchy of packages for native GUI components
javax.swing — hierarchy of packages for platform-independent rich GUI components
java.applet — classes for creating and implementing applets

Идея пространств имён воплощена в Java-пакетах. Весь код определён внутри пакета, причём этот пакет не нуждается в явно заданном имени. Код из других пакетов доступен при префиксном указании имени пакета перед соответствующим идентификатором, например class String в package java.lang может быть вызван как java.lang.String (данный способ известен как полное имя класса). Как и в C++, Java предлагает конструкцию, делающую необязательным указание имя пакета (import). Тем не менее, некоторые особенности (как, например, отражение (рефлексия, самомодифицирующаяся программа)) требуют от программиста использования полного имени.

В отличие от C++, пространства имён в Java не являются иерархически упорядоченными из-за синтаксиса самого языка. Тем не менее, пакеты именуются в иерархическом стиле. Например, все пакеты, начинающиеся с java, являются частью платформы Java — пакет java.lang содержит базовые классы языка, а java.lang.reflect содержит базовые классы, специфичные для отражения (рефлексии).

В языке Java (также как и в Ада, C# и других языках) пространства имён/пакеты отражают семантические категории кода. Например, в C# namespace System содержит код, реализуемой системой (платформа.NET). Как именно определяются эти категории и какова глубина иерархии — зависит от самого языка.




Поделиться с друзьями:


Дата добавления: 2015-01-03; Просмотров: 425; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.