Поскольку Java статически типизирован, поиск должен быть однозначным. Когда вы импортируете целые пакеты (или пространства имен), ваш компилятор должен будет обрабатывать конфликты имен в этих пространствах имен, если типы используются в источнике. Поэтому вам нужно просмотреть список доступных типов для проверки.
Вот почему вы иногда видите исходный код с расширенным полным именем класса. например java.util.Date при импорте java.util и java.sql. В противном случае компилятор не знает, какой из них использовать.
В Scala есть несколько интересных функций по импорту из пакетов Java. Вы можете посмотреть на них для вдохновения.