Java类加载器,我应该为加载的类做什么?

Java类加载器,我应该为加载的类做什么?,java,Java,例如,我正在从字节数组加载一个类 假设正在加载此类: package loadedclass; public class LoadedClass { public void out(String msg) { LoadedClass2 lc2 = new LoadedClass2(); lc2.printMsg(); System.out.println(msg); } } lc2是另一个打印消息的类 现在,如果我从字节流类加

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

假设正在加载此类:

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依赖的所有类?

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

更多关于

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

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

您可以通过在
findClass()
方法中保留
println()
来检查这一点