Файлы на компьютерах, располагаются в папках, что позволяет пользователю ориентироваться в них. Также классы в Java распределяют по пакетам. Обычно в один пакет кладут классы, которые взаимосвязаны или имеют одного и того же автора. Каждый пакет как и папка имеет свое имя, притом в Java реально создаются папки под ваши пакеты с совпадающим именем. Так как пакеты полностью ассоциируются с папками, то у них существует вложенность, она показывается с помощью точки, например «main.slave» будет означать, что пакет с именем slave находится в пакете main, тоже самое произойдет и с соответствующими папками. Все файлы которые вы создадите в пакете «main.slave» будут хранится в папке slave, очевидно, что классы из этого пакета будут иметь расширение «.java». Для того, чтобы класс находился в определенном пакете используется ключевое слово package. Давайте сначала создадим пакет ru в папочку scr для этого в среде нажмите правой кнопочкой и выберите Package после этого введите имя пакета. Все вы видите пакет с именем ru. Теперь создадим в нем пакет с именем cybern и наконец создадим в нем какой — нить класс:
1
2
3
|
package ru.cybern;
public class PackageTest {
}
|
Как вы могли заметить я не случайно создал пакеты с таким именем. В java принято именовать пакеты, которые вы разрабатываете, также как ваш личный сайт или сайт фирмы в которой вы работаете, записанный задом на перед, а дальше уже использовать специфичные имена типа util и прочее. Данная рекомендация присутствует для того, чтобы при подключении различных библиотек не произошел конфликт имен пакетов.
Создадим еще один класс в паке ru.cybern:
1
2
3
4
5
6
|
package ru.cybern;
public class Test {
public void test(){
PackageTest t = new PackageTest();
}
}
|
Как мы видим, что для того, чтобы обратиться к классу из того же пакета достаточно просто указать его имя, а теперь создадим класс в пакете ru:
1
2
3
4
5
6
|
package ru;
public class Test {
public void test(){
ru.cybern.PackageTest t = new ru.cybern.PackageTest();
}
}
|
Для того, чтобы обратиться к классу из другого пакета необходимо указать полный путь до класса, как это продемонстрировано выше. Как вы могли заметить в разных пакетах могут хранится классы с одинаковыми именами.
Если вы собираетесь часто обращаться к какому — то определенному классу, например к ru.cybern.PackageTest вы можете импортировать себе этот класс, тогда при обращении к нему достаточно будет использовать только его имя, например:
дальше
|