2010-11-29 6 views

答えて

5

簡単な例:

MyClass obj = Class.forName("com.xyz.MyClass").newInstance(); 

これがデフォルトコンストラクタが存在することを前提としていて、クラスが見つからないか、インスタンス化できない場合は、さまざまな例外がスローされます。

+1

含むパッケージの名前です

、そのクラスは、クラスローダによってロードするために利用可能であるべき、IOWは、クラスパス上に存在する必要があります。 –

+0

skaffmanは、JavaのリフレクションAPIを扱っているので、いくつか例外が発生する可能性があることを指摘しています。 newInstance()は引数なしのコンストラクタでのみ動作し、呼び出し元のクラス(つまりpublic、package)で使用できることに注意してください。コンストラクタが引数を取る場合、より多くのリフレクションの参照と呼び出しを行う必要があります。 –

0

クラスmyClass = Class.forName( "package.MyClass");

オブジェクトインスタンス= myClass .newInstance();パッケージには、強調表示にしたいのMyClass

関連する問題