Очень полезная информация, но я не пытаюсь объявить новый пакет; Я пытаюсь получить доступ к закрытым пакетным классам в существующем. Мой путь к классу уже указывает на правильный каталог, но я попытаюсь явно установить его в оболочке. Тем не менее, я думаю, что принятый ответ правильный; только открытые классы доступны для JShell.

ал с JShell после выпуска Java 9 и попытался импортировать пакет, который сделал. Поскольку все приложение, для которого я его кодирую, будет содержаться в этом пакете, каждый класс, кроме одного (который я еще не кодировал), является частным для пакета. Мой путь к классам правильный, но я все еще не могу использовать ни один из типов, объявленных в пакете в JShell (он выдает ошибку «не удается найти символ»).Нужно ли делать их общедоступными, чтобы они были доступны, или есть ли какой-то способ проверить закрытые для пакета классы? Вот точный код, который я попробовал.

Мой текущий каталог

C:\Users\Sylvaenn\OneDrive\Documents\Programs\Java\src

Мой путь к классу

C:\Users\Sylvaenn\OneDrive\Documents\Programs\Java\cls

и каталог пакета (для байт-кода)

C:\Users\Sylvaenn\OneDrive\Documents\Programs\Java\cls\collatz

CollatzSequence это пакетный класс, содержащийся вcollatz.

PS C:\Users\Sylvaenn> cd OneDrive\Documents\Programs\Java\src
PS C:\Users\Sylvaenn\OneDrive\Documents\Programs\Java\src> jshell
|  Welcome to JShell -- Version 9
|  For an introduction type: /help intro

jshell> import collatz.*;

jshell> CollatzSequence seq = new CollatzSequence(BigInteger.ONE);
|  Error:
|  cannot find symbol
|    symbol:   class CollatzSequence
|  CollatzSequence seq = new CollatzSequence(BigInteger.ONE);
|  ^-------------^
|  Error:
|  cannot find symbol
|    symbol:   class CollatzSequence
|  CollatzSequence seq = new CollatzSequence(BigInteger.ONE);
|                            ^-------------^

jshell> /imports
|    import java.io.*
|    import java.math.*
|    import java.net.*
|    import java.nio.file.*
|    import java.util.*
|    import java.util.concurrent.*
|    import java.util.function.*
|    import java.util.prefs.*
|    import java.util.regex.*
|    import java.util.stream.*
|    import collatz.*

jshell>

Ответы на вопрос(2)

Ваш ответ на вопрос