下面是一个示例代码,演示了使用Java反射动态地创建对象:

import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;

public class DynamicObjectCreation {
    public static void main(String[] args) {
        try {
            // 获取类的Class对象
            Class<?> clazz = Class.forName("com.example.MyClass");
            
            // 获取类的构造函数
            Constructor<?> constructor = clazz.getConstructor();
            
            // 使用构造函数创建对象
            Object object = constructor.newInstance();
            
            // 打印对象的类名
            System.out.println(object.getClass().getName());
        } catch (ClassNotFoundException | NoSuchMethodException | InstantiationException | IllegalAccessException | InvocationTargetException e) {
            e.printStackTrace();
        }
    }
}

class MyClass {
    // 空的默认构造函数
    public MyClass() {
    }
}

上述代码中,首先使用Class.forName()方法获取一个类的Class对象,然后使用getConstructor()方法获取类的构造函数,接着使用newInstance()方法创建对象,最后打印对象的类名。

请注意,上述代码中的com.example.MyClass是一个示例类名,你需要根据实际情况替换为你所使用的类名


原文地址: https://www.cveoy.top/t/topic/hUM9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录