反射:分析类能力
获得Class两种方法:
Class cl = Object.getClass();
Class cl = Class.forName("xxx"); //xxx是类名
Class的forName和newInstance方法配合只能创建一个对象(无参实例),用Constructor类的newInstance方法可以调用任意构造函数
java.lang.reflect包内有Field、Method、Constructor类分别用于描述类的域、方法和构造器
调用任意方法:Method类中invoke方法,invoke的参数和返回类型必须都是Object类型,这种方式比直接调用方法速度慢
Object invoke(Object obj, Object... args); //obj是指在哪个对象上调用方法,args是方法的参数