JAVA Class类
Java在真正使用一个类似才会加以加载,而不是在程序启动时就加载所有的类。Class类没有公开的构造函数。Class对象由JVM自动产生。每当一个类被加载时,JVM就自动为其生成一个Class对象。声明参考名称时类不会被加载,在使用new生成对象时类才会被加载。下面的代码是java.lang.Class类的简单使用。
Java代码
import java.lang.reflect.Modifier; public class Test { public static void main(String[] args) { try { // Class> c1 = Class.forName("org.yoyo.test.staticDemo"); // getResult(); //输出:CAB Class> c2 = Class.forName("org.yoyo.test.staticDemo", false, Thread.currentThread().getContextClassLoader()); getResult(); System.out.println(c2.getName()); System.out.println(c2.getPackage().getName()); System.out.println(c2.getModifiers()); System.out.println(Modifier.isInterface(c2.getModifiers())); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static void getResult() { System.out.print("A"); staticDemo test = null; System.out.print("B"); test = new staticDemo(); System.out.println(); } } class staticDemo { static { System.out.print("C"); } }
输出结果为:
ABC
org.yoyo.test.staticDemo
org.yoyo.test
0
false