获取Class实例的3种方式
运行时类在内存中会缓存起来,在整个执行期间,只会加载一次。
/**
* 获取Class实例的3种方式
*/
public static void t1() throws ClassNotFoundException {
//调用运行时类的静态属性:class
Class<A1> clazz1 = A1.class;
//调用运行时类的对象的getClass()
A1 a1 = new A1();
Class<? extends A1> clazz2 = a1.getClass();
//调用Class的静态方法forName(String className)
String className = "com.example.annotation.A1"; //全类名
Class<?> clazz3 = Class.forName(className);
System.out.println(clazz1==clazz2); //true
System.out.println(clazz1==clazz3); //true
}