ホームページ >Java >&#&チュートリアル >クラス名とコンストラクター引数を使用して Java オブジェクトを動的にインスタンス化するにはどうすればよいですか?
動的オブジェクト作成の領域では、与えられたクラス名からオブジェクトをインスタンス化し、提供するにはどうすればよいのかという疑問が生じます。コンストラクターの値?
この動的な動作を実現するために、Java のリフレクション API の力を利用します。その中心となるのは Class クラスであり、これにより、特定のクラスを表す Class オブジェクトへのアクセスが許可されます。これらの Class オブジェクトを使用すると、コンストラクターを含むクラスのさまざまな側面を調べることができます。
特定のパラメーター値を使用してインスタンスを構築するには、次の系統的なアプローチに従います。
ネストされたクラスの場合、Class オブジェクトへのパスは異なります。ネストされたクラスの名前は、ドル記号 ($) で連結された外部クラスの名前で構成され、親クラス内での内部クラスのネストを表します。
次のようなシナリオを想像してください。コンストラクター パラメーターとして値 "MyAttributeValue" を指定して、mypackage.MyClass のインスタンスを作成します。私たちのコードは次のようにエレガントに展開されます。
Class<?> clazz = Class.forName("mypackage.MyClass"); Constructor<?> ctor = clazz.getConstructor(String.class); Object object = ctor.newInstance(new Object[] { "MyAttributeValue" });
Java リフレクションを巧みに使用することで、コンストラクターを提供しながら、任意のクラスのインスタンスを動的に作成するメカニズムを明らかにしました。パラメータ。この力により、無数のプログラミングの可能性への扉が開かれます。
以上がクラス名とコンストラクター引数を使用して Java オブジェクトを動的にインスタンス化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。