在 Java 中动态创建实例
通过名称实例化类是编程中经常遇到的场景。 Java 提供了多种方法来实现此目的。
方法 1:对于具有无参数构造函数的类
对于具有无参(no-arg)构造函数的类,可以使用 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中文网其他相关文章!