Ошибка компиляции "не удается найти символ" при компиляции класса пакета

Я создал каталог с именем mypack и добавил в него файл Java с именем A.java. Код для A.java выглядит следующим образом:

package mypack;

public class A{
    public A(){
        System.out.println("Inside A");
    }
}

И я добавил еще один файл в тот же каталог с именем Demo.java. Код для этого файла выглядит следующим образом:

package mypack;

public class Demo {
    public static void main(String args[]) {
        A a = new A();
    }
}

Проблема в том, что когда я компилирую второй файл Demo.java, я получаю сообщение об ошибке: не могу найти символ A

Неизвестный символ А

каталог mypack выглядит так:

Структура каталогов

Я не знаю, почему Demo.java файл того же пакета (mypack), что и у A.java, не может получить доступ к классу A, даже когда я объявил его как открытый в A.java. Пожалуйста, кто-нибудь, помогите!

3 ответа

Решение

Может быть, вы можете использовать

javac *.java

завершить два исходных файла Java одновременно.

Чтобы скомпилировать файл, откройте свой терминал и введите

javac filename.java

Чтобы запустить сгенерированный файл класса, используйте

java filename

Вы можете сделать что-то вроде этого, чтобы скомпилировать необходимые файлы, как в случае, который вы упомянули в своем вопросе:

javac Demo.java A.java

Это компилирует ваш класс вместе с зависимостью A.java в этом случае.

Или вы могли бы сделать что-то вроде этого, чтобы покрыть все .java файлы, которые у вас есть в вашем каталоге.

javac *.java

Пожалуйста, обратитесь к этому для дальнейшего использования!

Другие вопросы по тегам