Импорт пакетов с одноимёнными классами

Импорт пакетов с одноимёнными классами

При импорте пакетов, содержащих классы с одинаковыми именами, не возникает конфликтов, если класс из одного из пакетов импортируется явно по имени.
Если требуется обратиться к классу с таким же именем из другого пакета, придётся указывать его полное квалификационное имя.


package roofs;

    public class Roof {}


package roofs.woodenRoofs;

    public class Roof {}


package building;

import roofs.woodenRoofs.Roof;
import roofs.*;

    public class House {
       Roof woodenRoof;
       roofs.Roof roof;
    }
Такая запись приведёт к ошибке компиляции в связи с возникшим конфликтом имён:


package building;

import roofs.woodenRoofs.*;
import roofs.*;

    public class House {
       Roof roof;
    }
Основы Java