簡體   English   中英

使用反射從.class文件實例化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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM