我想你的意思是你得到NoClassDefFoundError
这样的:
NoClassDefFoundError: Could not initialize class SomeHelper
正如JavaSE-7所述:
如果 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且找不到类的定义,则抛出 NoClassDefFoundError .
搜索到的类定义在编译当前执行的类时已经存在,但无法再找到该定义。
NoClassDefFoundError
如果类的静态位(即在定义类期间发生的任何初始化)失败,有时会发生这种情况。
所以首先改变
private int static x;
至,
private static int x;
声明setX()
为static
,或创建SomeHelper
要调用的实例setX()
。
要使用类名调用任何方法,方法应该是static
.
尝试这个:
public static void setX(int value){
x = value;
}
SomeHelper.setX(someInteger);
或这个:
SomeHelper someHelper = new SomeHelper (); // default constructor
someHelper .setX(someInteger);
请注意,您不必为您的类提供任何构造函数,但在执行此操作时必须小心。编译器会自动为任何没有构造函数的类提供无参数的默认构造函数。