Как решить мою ошибку «Не удается разрешить символ» java? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть эта внешняя библиотека, включая класс StdRandom. Когда я вызываю этот класс из папки sr c, он распознается, без проблем:

enter image description here

Однако перемещение (и рефакторинг) моего class с вызовом StdRandom, делает так, что не больше не распознает вызов StdRandom:

enter image description here

Как сделать так, чтобы класс по-прежнему распознавался даже внутри пакета?

1 Ответ

1 голос
/ 27 мая 2020

Если вы хотите получить доступ к классу A из класса B, должно выполняться одно из следующих условий:

  • Оба класса находятся в одном пакете
  • Класс B имеет " import "для класса A. (Обратите внимание, что если класс A находится в пакете по умолчанию, то есть у него нет объявления" package "в своей первой строке - никакой другой класс никогда не сможет импортировать его, поэтому вам никогда не следует иметь классы в пакете по умолчанию.)
  • Каждый раз, когда на класс A ссылаются, вы делаете это с полностью определенным именем, то есть "the.package.the.class.is.in.A" вместо просто "A" .

Судя по вашим снимкам экрана, я могу только предположить, что StdRandom находится в JAR-файле, к которому вы обращаетесь как к внешней библиотеке, и что он также находится в пакете по умолчанию - это означает, что вы сможете только чтобы ссылаться на него из классов, которые также находятся в пакете по умолчанию.

edit: OP решил проблему, распаковав класс StdRandom из своего JAR-файла и рефакторинг его для использования другого пакета.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...