Импортирование пакетов
Полное имя класса состоит из идентификатора, указанного после ключевого слова class и предшествующего ему имени пакета, в котором этот класс находится. Классы ClassA и ClassB, описанные в пакете package1, имеют полные имена package1.ClassA и package1.ClassB.
Классы, находящиеся внутри одного пакета могут пользоваться сокращенными именами друг друга. В одном из методов класса ClassA можно определить переменную класса ClassB, создать объект класса ClassB и вызвать его метод (например, f()) командами:
ClassB varb = new ClassB();
varb.f();
вместо команд:
package1.ClassB varb = new package1.ClassB();
varb.f();
Если классы находятся в разных пакетах, для обращения друг к другу они должны пользоваться полными именами.
Это ограничение можно обойти, если импортировать нужный класс из другого пакета.
Для импортирования класса используется ключевое слово import, после которого указывается его полное имя. Например, можно импортировать класс Vector из пакета java.util:
import java.util.Vector;
Теперь можно пользоваться именем Vector вместо java.util.Vector.
Чтобы импортировать пакет полностью (то есть, ко всем классам пакета можно будет обращаться с помощью сокращенного имени), после имени пакета ставится точка и звездочка. Так, команда
import java.util.*;
импортирует все файлы из пакета java.util. Но таким способом пользоваться не рекомендуется, так как при этом из разных пакетов могут импортироваться файлы с одинаковыми именами.
Eclipse позволяет облегчить жизнь разработчику. Если в программе используется класс с неизвестным именем, на полях редактора кода появляется значок предупреждения об ошибке. Щелчок по этому значку выводит варианты решения проблемы. Например, создать новый класс. Или импортировать существующий (при этом выводится список всех доступных пакетов, содержащих класс с таким именем). Если выбрать вариант «Import» соответствующая директива import будет автоматически добавлена в начало пакета.
Все классы, находящиеся в одном пакете, должны иметь разные имена, иначе возникнет ошибка. К классам, которые находятся в разных пакетах, такого требования предъявить, очевидно, невозможно (поскольку пакеты могут разрабатываться совершенно разными людьми).
Поэтому при импортировании нескольких пакетов, в которых содержатся классы с одинаковыми именами, может возникнуть путаница в этих именах. Однако Java справляется с этой проблемой, «отдавая» сокращенное имя первому из импортированных классов. К другому классу можно обратиться с помощью его полного имени.
Если же совпадут и имена пакетов и имена классов, проблема окажется неразрешимой. А поскольку программист может пользоваться множеством пакетов разных разработчиков, такая ситуация вполне вероятна, если разработчики не договорятся. Поэтому существует соглашение об именовании пакетов (особенно тех, которые впоследствии могут распространяться).
Рекомендуется для названия пакета использовать адрес сайта фирмы-разработчика. Адреса сайтов есть практически у всех серьезных разработчиков программ (и, что самое главное, адреса сайтов не могут совпадать). Адрес сайта рекомендуется записывать наоборот. То есть, если адрес – sun.com, то имя пакета должно начинаться с com.sun. Кстати, таких пакетов довольно много в вашей системе, их поставляет фирма Sun Microsystems, разработчик языка Java.
Дата добавления: 2017-01-26; просмотров: 1239;