Java でのインスタンスの動的作成
名前によるクラスのインスタンス化は、プログラミングで頻繁に発生するシナリオです。 Java では、これを実現するための複数の方法が提供されています。
方法 1: 引数なしのコンストラクターを持つクラスの場合
引数なし (引数なし) のコンストラクターを持つクラスの場合、 Class.forName()メソッドを利用できます。これは Class オブジェクトを返し、後続の newInstance() メソッドは指定されたクラスのインスタンスを作成します。
Class<?> clazz = Class.forName("java.util.Date"); Object date = clazz.newInstance();
方法 2: より多用途なアプローチ
これクラスが引数なしのコンストラクターを持たない可能性がある場合は、メソッドが推奨されます。これには、Constructor オブジェクトの取得と、その newInstance() メソッドの呼び出しが含まれます。
Class<?> clazz = Class.forName("com.foo.MyClass"); Constructor<?> constructor = clazz.getConstructor(String.class, Integer.class); Object instance = constructor.newInstance("stringparam", 42);
考慮事項
どちらのメソッドもリフレクションを利用するため、次の場合に例外が発生する可能性があります。
以上がJava インスタンスを動的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。