使用java reflectionリフレクション対象のすべてのクラスが静的コンストラクタを実行することに気付きました。これらの静的コンストラクタを強制的に戻したり、実行したりすることはできますか?Java静的初期化子とリフレクション
2
A
答えて
7
0
私は何Bozhoが答えることは今短すぎると思うので、私は、私の答えを追加;)
リフレクションだけそれを初期化しないクラスをロードし、クラスを初期化することができます。たとえば、静的フィールドから値を要求すると、実際の値を取得する前に静的イニシャライザが呼び出されます。フィールドを取得するだけでは通常得られません。したがって、あなたのリフレクションコードが静的イニシャライザを実行させ、実際にそれを正確に行う必要がある場合、イニシャライザが呼び出されないようにする方法はありません。あなたが彼らが呼び出されることを避けたい場合は、あなたが反射で行うことを変更する必要があります。
関連する問題
- 1. Java静的初期化ブロック
- 2. 静的メンバーの初期化子のラムダスコープ
- 3. 静的初期化、
- 4. 静的初期化
- 5. 春の静的初期化Springの静的初期化
- 6. 静的変数の初期化java
- 7. Java外部クラス静的初期化
- 8. C++で静的初期化子とデストラクタを見つける
- 9. g ++、静的初期化と-nostdlib
- 10. java:クラス初期化中に同じクラスの静的フィールドの初期化
- 11. リフレクション:オブジェクトの初期化
- 12. Javaでの静的初期化と動的初期化の違いは何ですか?
- 13. Swiftでパラメータ化された初期化子のリフレクション
- 14. 静的初期化中のリソースの初期化?
- 15. 初期化関数で静的クラスメンバーを初期化する
- 16. 静的初期化子は、静的なユーティリティクラスのメソッドをテストするJUnitテスト
- 17. Pythonに静的コンストラクタまたは静的初期化子がありますか?
- 18. Javaの静的初期化子が冗長であるようです
- 19. クラスローディング時のObjective-Cの静的初期化子
- 20. 非静的データメンバの初期化子の質問
- 21. 静的メソッドの初期化子で空のstd :: string
- 22. 初期化子の初期化子
- 23. C、スキップ初期化静的配列
- 24. C++静的constテンプレートメンバの初期化
- 25. 整数配列の静的初期化
- 26. 静的フィールド/プロパティの初期化
- 27. 静的なboost :: unordered_mapの初期化
- 28. ジェネリック静的フィールドの初期化
- 29. アンドロイドスタジオのOpenCV静的初期化
- 30. 初期化静的内部クラス
私の推測はこの質問には無意味ですが、SOの集約された知識をチェックアウトするだけです – fmsf