Папки и пакеты в Java
Директива package задаёт логическое
имя, а не создаёт папки сама по себе. Тем
не менее в проектах на JVM принято, чтобы
путь к файлу .java повторял пакет:
каждая часть имени - отдельная папка.
Пакет app.site.users для исходников
обычно лежит по пути src/main/java/app/site/users/
от корня модуля:
package app.site.users;
public class User {
private String name;
public User(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Точки в объявлении package соответствуют
вложенным каталогам: одна строка
package admin.tools; означает два
уровня папок, а не «пакет внутри другого
ключевого слова».
Компилятор ориентируется на строку
package в файле. Если файл лежит
не там, где ожидает структура проекта,
IDE подсветит несоответствие, а сборка
может завершиться ошибкой.
Несколько файлов с одним и тем же
package объединяются в один пакет:
классы из разных файлов видят друг друга
по короткому имени внутри пакета:
package app.site.users;
public class User {
public User(String name) {
}
}
package app.site.users;
public class UserList {
public User first() {
return new User("Ann");
}
}
Пусть исходники лежат в src/main/java/.
Опишите словами полный путь к файлу, в
котором должен находиться класс Employee
с пакетом blog.employees.
Создайте в src/main/java/demo/tools/
файлы Helper.java и Formatter.java
с одним package demo.tools;. В классе
Formatter добавьте метод, который
возвращает новый объект Helper.