java命令行类IllegaAccessError
运行一个调用另外两个类的java类。 我成功地将.java文件编译成.class文件,并将它们放在与.java文件相同的文件夹中。运行java main.java会让我: 线程“main”java.lang.IllegalAccessError中出现异常: 它告诉我,在我的主要代码中,我在尝试使用来自新otherClass otherClass()的静态变量时出错;我主要是打电话来的。 因此,尝试otherClass.variable会在线程“main”java.lang.IllegalAccessError中引发错误->异常: 请帮忙?为什么会发生这种情况?解决方法是什么 我终于发现,在同一个文件夹中有.class和.java文件可以让您运行命令行程序。但是在那之后,我遇到了这个错误,我不知道为什么我不能访问其他类变量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
//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来构建代码时,很容易发生这种情况。使变量公开允许主类在运行命令行应用程序时访问这些变量。