Вы не можете использовать классы в пакете по умолчанию из именованного пакета.
( Технически вы можете, как показано на Sharique Абдулла ответа через Reflection API, но классы от безымянного пространства имен находятся не в объеме в декларации импорта )
До J2SE 1.4 вы могли импортировать классы из пакета по умолчанию, используя такой синтаксис:
import Unfinished;
Это больше не разрешено . Таким образом, для доступа к классу пакета по умолчанию из упакованного класса необходимо переместить класс пакета по умолчанию в собственный пакет.
Если у вас есть доступ к источнику, сгенерированному Groovy, потребуется некоторая пост-обработка, чтобы переместить файл в специальный пакет и добавить эту директиву «package» в его начало.
Обновление 2014: ошибка 6975015 , для JDK7 и JDK8, описывает еще более строгий запрет на импорт из безымянного пакета.
TypeName
Должно быть каноническое имя типа класса, тип интерфейса, перечислимого типа, или типа аннотаций.
Тип должен быть либо членом именованного пакета , либо членом типа, самый внешний лексически включающий тип которого является членом именованного пакета , в противном случае возникает ошибка времени компиляции .
Андреас отмечает в комментариях :
"почему [пакет по умолчанию] там вообще? ошибка дизайна?"
Нет, это умышленно.
JLS 7.4.2. Безымянный пакет говорит: «Безымянный пакет предоставляется платформой Java SE в основном для удобства при разработке небольших или временных приложений или когда только начинается разработка».