0

例如,我正在从字节数组加载一个类。

让我们假设正在加载这个类:

package loadedclass;


public class LoadedClass {
    public void out(String msg) {
        LoadedClass2 lc2 = new LoadedClass2();
        lc2.printMsg();
        System.out.println(msg);
    }
}

lc2 是另一个打印消息的类。

现在,如果我从我的字节流类加载器加载 LoadedClass,我应该如何处理 LoadedClass 所依赖的 LoadedClass2?

我基本上必须在其构造函数中让 LoadedClass 加载 LoadedClass2 吗?

有没有更简洁的方法来执行此操作,以便我可以从我的类加载器加载 LoadedClass 依赖的所有类?

4

1 回答 1

1

,您不必手动加载依赖项LoadedClass2,因为它将使用您自己的字节流类加载器动态加载。

有关Java 类加载的更多信息。

您只需提供必须加载的根类,所有其他依赖项 java 将动态尝试使用类加载器层次结构进行解析。

在您的情况下,字节流类加载器将调用findClass()两个类LoadedClass,而LoadedClass2无需显式调用 for LoadedClass2

您可以通过println()findClass()方法中保留 a 来检查。

于 2013-08-30T21:43:37.103 回答