Импорт со звездочкой в Java
Если из одного пакета нужны многие типы,
можно написать import, имя пакета
и .*;. Так называемый звёздочный
импорт подключает все public
типы верхнего уровня этого пакета в
текущем файле:
package widgets;
public class Button {
}
package widgets;
public class Label {
}
package app;
import widgets.*;
public class Screen {
public void build() {
Button btn = new Button();
Label lbl = new Label();
System.out.println(btn);
System.out.println(lbl);
}
}
Звёздочный импорт не подтягивает вложенные
пакеты: import widgets.*; не
импортирует типы из widgets.extra.
Для вложенного пакета нужна отдельная
строка.
В больших файлах перечисление каждого
имени часто читается лучше, чем .*:
сразу видно, откуда пришёл тип. Звёздочку
используют, когда пакет маленький или
в файле много обращений к его API.
В пакете fmt объявите классы
Bold и Italic. В пакете
editor объявите класс Pane,
который подключает fmt директивой
import fmt.*; и создаёт оба
класса оформления.
Замените три отдельных import
одним звёздочным для пакета tools,
не меняя тела класса:
package app;
import tools.Hammer;
import tools.Screwdriver;
import tools.Toolkit;
public class Job {
public void run() {
Hammer h = new Hammer();
Screwdriver s = new Screwdriver();
System.out.println(Toolkit.describe(h, s));
}
}