反射,提供了一种在程序运行期间分析类型的能力
虚拟机为每种类型管理一个Class对象
Object中的getClass方法会返回一个Class实例
Date d = new Date();
Class c = d.getClass();
String name = c.getName(); //name被设置为包含包名的完整路径"java.util.Date"
String name = "java.util.Date"
Class c = Class.forName(name);
Class c = int.class;
e.getClass().newInstance(); //返回与e相同类型的实例
newInstance会调用默认的无参构造函数(构造函数为private,则不能访问)
javaBean的setter getter方法,就是通过反射来调用的