3

私は多くの貢献をするJavaアプリに取り組んでいます。単一のパッケージ内のクラスが何らかの形で自分自身を「自己登録」することを望んでいます。現在、次のようにそれぞれをリストに追加するだけの別のクラスがあります。

ourlist.add( new SomeClassName() );

これには、各寄稿者が、私が避けたい追加のためにこのような行を追加する必要があります。アプリケーションにパッケージをスキャンさせ、上記のように各クラスをリストに自動的に追加したいと思います。

パッケージにいくつかのクラススキャンコードを使用してみましたが、クラスタイプがうまく機能していなかったため、Javaに慣れていないため、問題を完全に理解できません。

4

2 に答える 2

0

パッケージをスキャンしてすべてのクラス名を取得しReflection、それぞれのインスタンスの作成を使用して追加しますlist

for(Class claszz: scannedClasses){
 list.add(clazz.newInstance());//default constructor
}
于 2012-06-13T05:36:06.047 に答える
0

実行時または静的?実行時にクラスで静的ブロックを使用し、コードを静的ブロックの横に配置して自分自身を登録することができます。JDBC ドライバーが動作し、drivermanager に登録する方法と同様です。

于 2012-06-13T05:34:07.277 に答える