自我检查、开发各种通用框架
1、Java类中各成分映射成Java对象,运行期间获取对象的(类型)信息
2、作用:判断对象所属类、判断类所具有的变量和方法、调对象方法、构造类对象、建新类对象
3、优:动态创建对象和编译;
缺:影响性能,对一些动态类型jvm无法优化,破坏抽象性,安全限制:没有安全限制的环境中
4、原理:
5、获取Class方法:
Class:继承自Object,当class被加载、加载器defineClass被调、JVM产生Class对象
//第一种方式:
Class c1 = Class.forName("Employee");
//第二种方式:
//java中每个类型都有class 属性.
Class c2 = Employee.class;
//第三种方式:
//java语言中任何一个java对象都有getClass 方法
Employee e = new Employee();
Classc3 = e.getClass(); //c3是运行时类 (e的运行时类是Employee)
6、forName流程图: