1
クラスの静的メソッドの読み込みを制御する方法、たとえば、いくつかの独立したクラス(A、B、C、D、E ..)これらのクラスの中には静的なブロックがあり、C以降のクラスAの静的ブロックのロードを制御する方法クラスの静的メソッドの読み込みを制御する方法
クラスの静的メソッドの読み込みを制御する方法、たとえば、いくつかの独立したクラス(A、B、C、D、E ..)これらのクラスの中には静的なブロックがあり、C以降のクラスAの静的ブロックのロードを制御する方法クラスの静的メソッドの読み込みを制御する方法
ハッキーな解決策ですが動作します!あなたのクラスA、B、Cで
...
static boolean loadMe;
このフィールドを追加するには、その後最初にロードされるクラスで以下のコードを追加します。最初に読み込まれるクラスは、main()メソッドを持つクラスでも、アプリケーションの開始点であるクラスでもかまいません。
static {
boolead loaded = A.loadMe;
loaded = B.loadMe;
...//In the order that you require
}
スタティックブロックは、クラスを初めて使用するときに呼び出されます。ブロックを呼び出す必要がある順序で使用してください。 –
"ローディング"という用語を使用するのは意味がありません。 Javaでは、*クラス*だけがロードされ、メソッドではなく、静的ブロックではありません。クラスはJVMの裁量で読み込まれ、静的イニシャライザの実行を含む最初の使用時に*初期化されます*。あなたが言うようにクラスが* independent *の場合、初期化をさらに制御しようとする理由はありません。 – Holger