![](/img/trans.png)
[英]instantiate an object and invoking a method via a .class file using reflection in JAVA?
[英]Using reflection to instantiate a Java class from a .class file
我有一個.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
裝入Classloader
作為父Classloader
創建URLClassLoader
的實例,然后使用這個新的ClassLoader
,最后創建一個實例(這里它調用沒有參數的構造函數)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.