как упоминает @kageb Brasee: Это правда, что вы не можете выполнять статический или нестатический импорт класса, который находится в пакете по умолчанию.
но есть случай, когда вы можете использовать класс (пакета по умолчанию) в другом классе: -> И это можно сделать только тогда и только тогда, когда этот класс (в котором вы хотите использовать класс пакета по умолчанию) также присутствует в пакете по умолчанию
если оба класса находятся в пакетах по умолчанию (независимо от того, в каком месте они находятся), то вы можете использовать их (примечание: мы не импортируем их, просто используя их)
например. если я хочу импортировать класс temp.class
(который входит в пакет по умолчанию), расположенный в Home/files/temp.class
, в мою программу use.java
, затем просто установите CLASSPATH
во время компиляции
Вы можете сделать это двумя способами: постоянный набор или временный набор ( Не используя технические термины )
постоянный набор: путем установки переменной CLASSPATH (которая является переменной окружения) (различные способы сделать это для разных ОС) -> для mac - -> export CLASSPATH=Home/files/
в этом методе переменная окружения CLASSPATH устанавливается до тех пор, пока ваша terminal
не будет открыта
так в этом случае:
export CLASSPATH=Home/files/
javac use.java
java use
временный набор : в этом методе мы используем одну из двух опций, предусмотренных как для java, так и для javac (java compiler), и это -classpath
и -cp
(оба они выполняют одну и ту же работу, его просто -cp
- это сокращение от -classpath
), в этом методе установки classpath для других файлов основное отличие состоит в том, что в этом типе адрес (путь) файла задается только на период времени, пока эта команда (операция) выполняется
как только выполнение инструкции завершится, значение CLASSPATH (среда) -> снова достигнет того же пути, что и ранее,
Примечание: по умолчанию CLASSPATH равен. (т.е. представляет один и тот же каталог)
И в этом случае:
java -cp .:Home/files use.java // Note: don't forget . and : is for separating the different paths
java use
Надеюсь, это помогло:)