Как пакеты работают на Java, в частности, при использовании VSCode?

#java #visual-studio-code #package

#java #visual-studio-code #пакет

Вопрос:

Я пытаюсь создать папку с именем «a» в проекте, в котором я сейчас нахожусь в VSCode. В этой папке я пытаюсь создать файл с именем Solution.java . Когда я создаю этот файл, я получаю сообщение об ошибке «Объявленный пакет»» не соответствует ожидаемому пакету «a»».

Решить эту проблему легко (просто объявите пакет a в Solution.java ), но когда я открываю папку «a» в другом окне VSCode, я больше не получаю ошибку пакета в решении.java-файл в папке «a», что означает, что мне больше не нужно объявлять пакет.

Почему это так? Почему изменение корневой папки проекта в VSCode может изменить необходимость объявления пакета?

скриншот ошибки пакета

ошибка при переключении корневых папок исчезает

Ответ №1:

Вы должны добавить package оператор, подобный приведенному ниже, в начало Solution.java .

 package a;
  

Ответ №2:

Это потому, что идентификатор A изменился.

VS Code распознает папку, открытую в данный момент, как папку проекта: введите описание изображения здесь

Когда вы открываете A в качестве папки проекта, вы определенно можете создавать файлы Java под ним, и никаких инструкций не требуется;

Когда вы открываете KICKSTART в качестве папки проекта, папка A превращается в пакет, и если вы хотите создать java-файлы под ним, вы должны следовать правилам разработки java и добавить package a; в верхнюю строку .java файлы, которые находятся в папке a .

Более подробную информацию о пакете см. в разделе Java-Package .

Ответ №3:

Чтобы устранить проблему, вы должны объявить пакет,

Синтаксис:

package package_name.sub_package_name;

(Объявляйте подпакет, когда вы создали файл в папке внутри другой папки), где имя пакета совпадает с именем папки, в которой вы создали свой программный файл Java. введите описание изображения здесь