1、定义 1) 反射是一种强大的底层工具,他提供了一种自省机制,在运行过程中,对于任意一个类,都能够得到这个类的属性和方法。 2) 借助反射的这个特征,能够构建更加灵活的代码,从而实现通用编程。 2、Class 类 1)它是学习反射的起点,Class对象为您提供了获取类元数据的基本方式。这些元数据包括类自身的信息,如包和类的父类,以及该类实现的接口。 2)创建Class类的对象 a)Class c=MyClass.class b)Class.forName(“packageName.className”):假如需要在运行时从外部数据源读取类名,第一种方式则不适合,应选择这种方式。 3、获取类中属性 Fields fs[]=c.getDeclaredFields(); 4、获取类中方法 Method ms[]=c.getDeclareMethods(); 5、执行类中的方法 m.invoke(c.newInstance,new Object[]{}) |