undefined

Пакеты (packages)

Java Syntax
5 уровень , 2 лекция
Открыта

— Привет, Амиго! Сегодня я расскажу тебе про пакеты.

— Файлы в компьютере группируются по папкам. Классы в Java (а каждый класс лежит в отдельном файле) группируются по пакетам, которые являются папками на диске. Ничего принципиально нового. Но есть два замечания

Первое. «Полным уникальным именем класса» является «имя пакета» + «имя класса». Примеры:

Полное уникальное имя Имя пакета Имя класса
java.io.FileInputStream java.io FileInputStream
java.lang.String java.lang String
java.util.ArrayList java.util ArrayList
org.apache.tomcat.Servlet org.apache.tomcat Servlet
Cat отсутствует Cat

— Полное имя класса всегда уникально!

— Каждый раз писать длинное имя, например java.util.ArrayList, очень неудобно. Поэтому в Java добавили возможность «импортировать классы». В своем коде ты можешь пользоваться коротким именем других классов, но ты должен в начале своего класса явно указать, какой именно класс будет использоваться.

— А как это сделать?

— Делается это конструкцией вида «import java.util.ArrayList;»

— В начале класса, сразу после объявления package, ты можешь указать какой именно класс скрывается за ArrayList, который ты используешь у себя в коде.

— Зачем такая сложность? Что могут быть классы с одинаковыми именами?

— Да, в разных пакетах могут лежать классы с одинаковыми именами. Но мы не можем импортировать в наш класс два класса с одинаковыми именами, поэтому к одному из них придётся обращаться по полному имени.

— Вот еще одна аналогия. У тебя в коллективе есть Серега и никаких проблем с общением – все знают кто это. Но если бы их было трое, то чтобы их различать пришлось бы использовать полные уникальные имена.

Второе. Лучше всегда класть классы в пакеты, а не в корень папки src. Когда классов мало, это ещё не представляет проблему, но когда классов много – очень легко запутаться. Поэтому всегда создавай классы только в пакетах.

В Java принято давать классам и пакетам осмысленные имена. Многие компании выпускают свои библиотеки (набор классов) и, чтобы не было путаницы, называют пакеты этих классов по имени компании/сайта:

Имя пакета Имя компании/проекта
org.apache.common
org.apache.tomcat
org.apache.util
Проект «Апач»
com.oracle.jdbc Компания «Oracle»
java.io
javax.servlet
Компания Sun, проект Java
com.ibm.websphere Компания «IBM», проект WebSphere
com.jboss Проект «Jboss»
Комментарии (540)
Чтобы просмотреть все комментарии или оставить свой,
перейдите в полную версию
Антон 5 уровень, Москва
25 февраля 2021
мне тоже 32 но я уверен что все зависит исключительно от человека.Кто хочет тот добьется!!!
Татьяна Лео 8 уровень, Москва
27 января 2021
Учиться и меняться никогда не поздно...все об этом знают... Но, внутри нас всегда есть заложенный страх, что не получиться. Я слишком... молодой, старый, нет опыта, слишком много опыта, долго переучивать... и еще много всего, что нас самих ограничивает. Мы сами для себя самые строгие судьи... Мы лучше других знаем все свои "слабые места", а значит и наша критика в собственный адрес попадает точно в цель, мы знаем куда бить. В начале этого года я прочитала интересную фразу. Не нужно брать себя в руки, иногда нужно взять себя на ручки. Я это интерпретировала, как то, что в себя нужно поверить. Только по настоящему. Что ты сможешь... Выучить джаву, устроиться разработчиком, получать от жизни удовольствие.... и многое другое. Позволь себе быть тем кем ты хочешь, в не зависимости от возраста Таня 37, из ТыжАналитиков и ТыжОдинесников :)
hidden #2508088 10 уровень
19 января 2021
а я думал я старый!!! мне 33.
Romanya 18 уровень, Санкт-Петербург
22 декабря 2020
Вы чего друг друга тут хвалите и подбадриваете!?!? Думаете вакансий Java Junior много на рынке труда? Ну конечно. Мы тут с вами все потенциальные конкуренты, будем бороться за кусок хлеба на этом поприще. Отдельно обращение к возрастной категории: мотивация это конечно хорошо, но вы конкурируете с ребятами кто программирует со школы занимается этим в универе и готов работать за идею ибо не имеет кредитов детей и жен. Мотивируйся хоть за мотивируйся, а против законов рынка сложно будет переть.
Евгения 4 уровень, Брянск
30 ноября 2020
А мне 36) И я сутки уже не вылезаю из-за компа. Я даже подумать не могла, что это так интересно! А хотела то сына 11 лет приобщить. В итоге он решает задачки с блоками на другом сайте. А я так, чисто для интереса, зашла посмотреть, и понеслась! Я просто сижу и пишу коды на 1 уровне))) с мыслью:"Боже, как это круто!😅"
Рустам 10 уровень, Казань
22 ноября 2020
почему бы не нарисовать один раз, чтобы стало понятнее??) файлы в папках, классы в пакетах, но при этом классы находятся в файлах))) зачем тут пакеты?))))))
Сергей 27 уровень, Москва
2 ноября 2020
По комментариям ощущение, будто это вводное занятие)) И как вырулили с пакетов Java на тему возраста вхождения в профессию...🤨😅
UVM 8 уровень
28 октября 2020
20 величайших программистов всех времен https://new-science.ru/20-velichajshih-programmistov-vseh-vremen/
UVM 8 уровень
28 октября 2020
https://www.youtube.com/watch?v=Odb7My_7tLw
Тони 10 уровень, Москва
20 октября 2020
"Полное уникальное имя; Имя пакета; Имя класса." Там, где "имя пакета" можно любое имя придумать или автоматически уже готовые бывают?