1、首先要创建一个Reflection测试类
2、使用反射创建对象,用new创建对象就没必要再说了。JavaAPI为反射机制提供了一些类包括Cla衡痕贤伎ss和java.lang.reflect窄忾行崦包下的类。(1)第一种方式:使用Class类的forName静态方法,可以获取一个类对象,然后调用类对象的newInstance方法创建对象。(2)第二种方式:直接使用类名.class获取类对象,然后调用类对象的newInstance方法创建对象。
3、使用反射,获取类的public方法,并尝试调用类的方法。(1)首先通过反射获取类对象,通过类对象的getM髫潋啜缅ethods方法,获取类的所有public方法Method[]。Method是java.lang.reflect包下的类:提供某个 类、接口 的单一方法信息,提供对方法的访问。这个反射方法可以获取类方法或者实例方法。循环输出方法名,可以看到,不止test1、3还有equals、hashCode等继承Object的方法。但是并没有test2,因为他不是public类型的方法。
4、(2)使用Method的invoke调用方法test1和hashCode
5、(3)也可以使用getMethod获取Method,不过要注意其参数 第一个参数:方法名 第二个参数:此方法参数的类型集合
6、使用反射,获取类的public字段,和获取方法类似,也有两个方法,一个是获取所有的public字段,另一个是获取某个public字段
7、使用反射,获取类和方法的注解。(Retention(RetentionPolicy.RUNTIME),RUNTIME类型的才能获取到)(1)获取类的注解
8、(2)获取方法的注解