- - PR -
クラスを動的にロードするには?
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-06-03 20:21
こんばんは。よろしくお願いいたします。
ある場所(例:C:\conf)に「config」というファイルを置き そこに、 A,jp.co.test.ClassA B,jp.co.test.ClassB と書いておきます。 そして、ClassLoadTestMain.javaから このテキストの内容を読み込んで、メインスレッドの中から configファイルを読み込んで、ClassA,ClassBのインスタンス化 したいと思っています。 new ClassA("A"); new ClassB("B"); テキストファイルの読み込みはできているのですが、 そこからクラスをロードし、インスタンスかする方法がわかりません。 (具体的には、loadClassとnewInstanceの実装方法でしょうか?) URLとかなら、URLClassLoaderがあるので、それを用いればいいのですが、 ClassLoaderは抽象クラスで具体的に何を実装すればいいのか、皆目検討 がつきません。 どなたかご存知の方がおれらましたらご教授願います。 |
|
投稿日時: 2005-06-03 20:39
その対象のクラスがどこに配置されているかが問題です。
クラスパス上に存在するなら、Class.forName("<クラス名>");でOKです。 もしクラスパス上にないのであれば、クラス名だけではクラスの解決はできませんね。 仮にURLやパスなどで示しているのであればURLClassLoaderで読み込めます。 クラスの解決とは、クラス名やクラスパスやURLなどをヒントに バイト列を取得してClassのインスタンスにする事です。 |
1