私はあなたが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);
クラスにコンストラクターを提供する必要はありませんが、これを行うときは注意が必要です。コンパイラは、コンストラクターを持たないすべてのクラスに対して、引数のない既定のコンストラクターを自動的に提供します。