Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java命令行类IllegaAccessError_Java_Command Line_Terminal - Fatal编程技术网

java命令行类IllegaAccessError

java命令行类IllegaAccessError,java,command-line,terminal,Java,Command Line,Terminal,运行一个调用另外两个类的java类。 我成功地将.java文件编译成.class文件,并将它们放在与.java文件相同的文件夹中。运行java main.java会让我: 线程“main”java.lang.IllegalAccessError中出现异常: 它告诉我,在我的主要代码中,我在尝试使用来自新otherClass otherClass()的静态变量时出错;我主要是打电话来的。 因此,尝试otherClass.variable会在线程“main”java.lang.IllegalAcce

运行一个调用另外两个类的java类。 我成功地将.java文件编译成.class文件,并将它们放在与.java文件相同的文件夹中。运行java main.java会让我:

线程“main”java.lang.IllegalAccessError中出现异常: 它告诉我,在我的主要代码中,我在尝试使用来自新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) + ")");

我希望能够访问该变量和类中的所有其他变量。

otherClass是otherClass的一个实例。如果变量是静态的,那么它应该由类OtherClass访问,而不是由实例OtherClass访问。

我们需要查看a以了解这里发生了什么;i、 e.实际的可编译和可运行代码以及运行代码时得到的堆栈跟踪。值得一提的是,我怀疑真正的问题在于代码没有正确构建;i、 e.您已经更改并重新编译了一个类,而没有重新编译依赖它的其他类。当您直接使用
javac
而不是使用构建工具(Ant、Maven、Gradle)或IDE来构建代码时,很容易发生这种情况。使变量公开允许主类在运行命令行应用程序时访问这些变量。