我有一个 .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();
Run Code Online (Sandbox Code Playgroud)
首先创建一个URLClassLoader
使用上下文Classloader
作为父级的实例,然后使用这个 new 加载类ClassLoader
,最后创建一个实例(这里它调用一个没有参数的构造函数)。
归档时间: |
|
查看次数: |
1852 次 |
最近记录: |