代码之家  ›  专栏  ›  技术社区  ›  Gonen I

如何初始化使用自定义类加载器动态加载的类?

  •  0
  • Gonen I  · 技术社区  · 6 年前

    假设我有一个使用自定义类加载器加载的类

    Class<?> clz = myClassLoader.loadClass("classLoaders.Test");
    

    如何在不创建实例、不了解其成员或不使用反射的情况下初始化类(运行其静态初始值设定项)?

    1 回复  |  直到 6 年前
        1
  •  5
  •   Andreas LppEdd    6 年前

    要确保类已初始化,请调用 Class.forName(String name, boolean initialize, ClassLoader loader) 用一个 true 价值为 initialize 参数。

    Class<?> clz = Class.forName("classLoaders.Test", true, myClassLoader);