Пакеты и модификаторы доступа в Java

Август 3, 2011

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

_________________________________

Пакет — средство управления видимостью имён классов и интерфейсов. Пакеты решают проблему разделения множества классов, разработанных разными людьми на независимые по именам подмножества, при этом имена, относящиеся к разным пакетам классов/интерфейсов м. совпадать, что облегчает параллельную разработку библиотек классов и их совместное использование в рамках одного проекта. Пакеты идентифицируются именами, и м.б. вложенными. В общем случае имя пакета — это последовательность имён, разделённых точками. Имя, стоящее правее обозначает пакет, вложенный в тот, имя которого левее. Факт принадлежности класса/интерфейса к пакету указ-ся директивой package в самом начале файла, содержащего определение класса. Для обеспечения глобальной уникальности имён, имена пакетов конструируют с использованием полноквалифицированных доменных имён (FQDN), на основе FQDN компании, разрабатывают библиотеки. При этом доменное имя указ-ся в обратном порядке, от общего к частному. Классы и интерфейсы, относящиеся к одному пакету м. использовать без квалификации. Для использования имени, относящемуся к другому пакету надо использовать либо полноквалифицированную форму имени, либо для сокращения записи механизм import. Пр: import java.sql.*

Модификаторы доступа используются при описании классов, полей и методов. Если класс описан без модификатора доступа, то его имя за пределами пакета не доступно. Семантика модификаторов доступа для полей и методов одинакова. Public означает, что поле/метод доступен любому другому классу, вне зависимости от того в том же он пакете или нет, расширяет он данный класс или нет. Protected означает, что поле/метод доступен любому классу этого же пакета, а за пределами только классам расширяющим данные прямо/косвенно. Private ограничивает доступ к полю/методу только данным классом.

Обработка ошибок времени выполнения. В современных языках программирования для обработки ошибок, возникающих во время выполнения используют механизм исключений. Ошибки м.б. разными, причём ошибки одного вида м.б. частным случаем ошибок др. вида, именно поэтому логично представлять инф-цию об ошибках времени выполнения в виде объектов, классов исключений. Каждый класс исключения соотв-ет тому/иному виду ошибок. За счёт наследования иерархию классов исключений м. выставить в соотв-ии с классиф-ей ошибочных ситуаций и расширять её в дальнейшем. Базовым классом д/всех классов исключений явл-ся класс java.lang.Throwable. Все исключения Java делятся на контролируемые и неконтролируемые. К неконтролируемым исключениям относятся объекты типа java.lang.Error и java.lang.RuntimeException, а также их потомки.Стандартным базовым классом для контролируемых исключений является java.lang.Exception, причём к контролируемым относятся только те его потомки, кот. не расширяют прямо/косвенно Runtime Exception. Неконтролируемые — те, которые в правильно составленных программах возникать не должны (связаны с ошибками системного характера — отсутствие памяти, отсутствие класса/метода). К контролируемым исключениям относятся те, кот. программа обязана обрабатывать, они возникают при определенном стечении обстоятельств (ошибки ввода/вывода, неправильные аргументы).