Класс командной строки java IllegalAcessError - PullRequest
0 голосов
/ 06 октября 2019

Запуск Java-класса, который вызывает два других класса. Я успешно скомпилировал файлы .java в файлы .class, и они помещены в ту же папку, что и файлы .java. Запуск java main.java дает мне:

Исключение в потоке "main" java.lang.IllegalAccessError: Это говорит мне, что в моем main я получаю сообщение об ошибке при попытке использовать статическую переменную из нового otherClass OtherClass ();что я назвал в основном. Так что попытка otherClass.variable выдает ошибку-> Исключение в потоке "main" java.lang.IllegalAccessError:

Пожалуйста, помогите? Почему это происходит и что за исправление

Я наконец понял, что наличие файлов .class и .java в одной папке позволяет запускать программу командной строки. Но после этого я столкнулся с этой ошибкой, и я не уверен, почему не могу получить доступ к переменной других классов.

//this is where I call the new class
static OtherClass otherClass = new OtherClass();


//this is where the error occurs
System.out.println("Your current location is (" + (otherClass.variable - 1) + "," + (otherClass.variable - 1) + ")");

Я ожидаю, что смогу получить доступ к переменной и всем другим переменным в классе.

1 Ответ

0 голосов
/ 06 октября 2019

o therClass является экземпляром O therClass . Если переменная является статической, то к ней должен обращаться класс OtherClass , а не экземпляр, otherClass .

...