— Привет, мой юный друг. Надеюсь, ты не забыл, что я — бюрократ в 16-м поколении. Если бы я не систематизировал все знания, которые у меня есть, то никогда бы не добился таких высот. У меня куча разной справочной информации. Я буду помогать тебе с некоторыми задачами. Давай для начала я расскажу тебе, что представляет собой типичная программа на Java.
— Да, я слушаю.
— Факт первый. Программа на Java состоит из классов. Каждый класс хранится в отдельном файле. Имя файла совпадает с именем класса, расширение файла – java.
— Программа состоит из набора файлов с расширением java, и в каждом файле написан код одного класса, так?
— Абсолютно правильно, Амиго! Если файл называется MyCat.java, то он содержит класс MyCat.
— Факт второй. Когда у нас много файлов с классами, мы группируем их в папки и подпапки. Классы при этом группируются по пакетам и подпакетам. Имена пакетов и подпакетов нужно указывать в коде класса, и они должны совпадать с именами папок и подпапок на диске.
— Т.е. с одной стороны у нас есть файлы, разложенные по папкам, а с другой — классы, разложенные по пакетам. При этом имя класса обязано совпадать с именем файла, в котором этот класс описан. А имя пакета совпадает с именем папки, в которой хранится класс.
— А можно больше подробностей?
— Имена вложенных пакетов описываются через точку, почти как ссылки в интернете.
— Т.е. если у тебя есть класс Cat, который лежит в пакете “animals.pets”, то это значит, что:
- На диске есть папка, например src, где хранятся все файлы проекта;
- В ней есть папка animals, в которой есть папка pets,
- В папке pets есть файл Cat.java, который и содержит код класса Cat.
— Вроде понял, но не уверен.
— Смотри, структура классов и пакетов полностью повторяет структуру папок и файлов на диске. Если есть файл House.java, который лежит в папке src/com/houses/, то это значит, что существует класс House, который находится в пакете com.houses.
— Понял.
— А ты сообразительный малый. Внимание на экран — вот код небольшого класса. Я подписал все ключевые моменты:
— Все понятно, насколько это может быть понятно с первого раза. Хе-хе.
— Молодец! Много и не надо. Ты главное хоть что-нибудь пойми, а полное понимание придет со временем. Теперь я пойду спать, а тобой займётся кто-нибудь ещё.