![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пакет как библиотечный модуль
Пакет – именованная совокупность классов. Цель – разделить пространство имен. Имена классов, которые находятся в пакете, содержат имя пакета.
Например, пакет java.util. В нем класс Array List. Его полное имя java.util.ArrayList
java.util.ArrayList list = new java.util.ArrayList ();
Можно указать класс в директиве import
import java.util.ArrayList;
Тогда new ArrayList();
Можно импортировать все классы пакета: import java.util.*;
Файл с исходным текстом (*.java). В нем может быть один public – класс с тем же именем. После компиляции получаем файлы *.class. То есть рабочая программа – совокупность файлов *.class. Они объединяются в пакет и могут сжиматься в JAR -архив (*.jar).
Название пакета -может быть несколько слов через точку: access.mypackage; Тогда package access.mypackage; public class MyClass {}
Запуск java access.mypackage.Myclass
Тогда для использования MyClass нужно указать его полное имя или import
access.mypackage.MyClass m = new access.mypackage.MyClass();
или import access.mypackage.* … MyClass m = new MyClass();
Хранение пакетов
Имя пакета отображает структуру каталога, в котором хранятся файлы *.class D: \ work\ access\mypackage\MyClass.class То есть путь к файлу ”кодируется” в имени пакета. Все файлы пакета хранятся в отдельном каталоге (папке). Каждый класс пакета должен иметь одинаковое начало:
package access.mypackage;
и хранится файл *.class в директории \access\mypackage\
Для уникальности первая часть имени доменное имя, записанное наоборот (или e-mail)
ru.mail.my.util
а первая часть пути - указывается в переменной окружения CLASSPATH
set CLASSPATH = D: \work;
Имена пакетов записываются с маленькой буквы Если классы в нескольких местах, то нужно пути к пакетам разделять точкой с запятой
set CLASSPATH =.; D: \work\; D: \work\myutil.jar
Стандартные пакеты - в jdk\jre\lib\rt.jar (rt-это RunTime) пакет java.lаng – подключен по умолчанию автоматически.
Если нужен файл x.class (в точке, где создается объект этого класса или при первом обращении к статическим членам класса) интерпретатор ищет каталог с файлом x.class:
- поиск в стандартных местах jdk\jre\lib jdk\jre\ext - берется CLASSPATH. - берется имя пакета, точки заменяются на слэши. - соединяются все элементы CLASSPATH и имена пакетов и там ищется x.class.
сли класс не найден-то выводится сообщение.
Вывод: Имя пакета –это его каталог.
|