主动使用示例

本例子说明通过反射也是类的主动使用

class CL{
  static {
    System.out.println("Class CL");
  }
}
调用ClassLoader类的loadClass方法加载一个类,并不是对类的主动使用,不会导致类的初始化
public class MyTest {

  public static void main(String[] args) throws ClassNotFoundException {
    ClassLoader loader = ClassLoader.getSystemClassLoader();
    Class clazz = loader.loadClass("jvm.classloader.CL");
    System.out.println(clazz);

    System.out.println("--------------------------------");

    clazz = Class.forName("jvm.classloader.CL");
    System.out.println(clazz);   
  }
}

输出结果:
class jvm.classloader.CL
--------------------------------
Class CL
class jvm.classloader.CL

你可能感兴趣的:(主动使用示例)