gpt4 book ai didi

java - 使用反射从 .class 文件实例化 Java 类

转载 作者:搜寻专家 更新时间:2023-11-01 02:39:44 27 4
gpt4 key购买 nike

我有一个 .class 文件的路径,我想从正在运行的程序中实例化它。我必须“加载”这个类,但它的类路径不在我的 .jar 或我的项目中,它在它旁边的一个文件夹中(不能使用 Class.forName())。我如何实例化这个 .class ?

最佳答案

您可以继续下一步:

File myFolder = new File("myfolder");
URLClassLoader classLoader = new URLClassLoader(new URL[]{myFolder.toURI().toURL()}, Thread.currentThread().getContextClassLoader());
Class<?> myClass = Class.forName("my.package.Myclass", true, classLoader);
Myclass obj = (Myclass)myClass.newInstance();

首先,您使用上下文 Classloader 作为父级创建 URLClassLoader 的实例,然后使用这个新的 ClassLoader 加载类,最后您创建一个实例(这里它调用一个没有参数的构造函数)。

关于java - 使用反射从 .class 文件实例化 Java 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36452834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com