1、简介:
反射,按我的理解,就是操作类,方法,属性,注释 等等的机制!
操作类,用java.lang.Class这个类;
操作方法,用java.lang.reflect.Method这个类;
操作属性,用java.lang.reflect.Field这个类;
操作注释,用java.lang.annotation这个接口;
·············,··········································;
剩下的就没怎么用了,所以不知道的就查帮助文档吧!
2、Class类的基本用法:
先要实例化一个对象:
Class<CommandLogic> clazz=CommandLogic.class;
Class<要反射的类> clazz=要反射的类.class; 就实例化了一个对象
获取类中方法:
1、 MethodgetDeclaredMethod(String name, Class<?>... parameterTypes)
-
name
- 方法名 -
parameterTypes
- 参数数
Method
对象,该对象反映此 Class
对象所表示的类或接口的指定已声明方法。
2、 Method
getDeclaredMethods()
Method
getDeclaredMethods() 返回 Method
对象的一个数组,这些对象反映此Class
对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。
Method
对象的一个数组,这些对象反映此Class
对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。获取类中属性:
1、 Field
getDeclaredField(String name)
name
- 字段名
返回一个
Field
对象,该对象反映此Class
对象所表示的类或接口的指定已声明字段
2、 Field[]
getDeclaredFields()
返回 Field
对象的一个数组,这些对象反映此 Class
对象所表示的类或接口所声明的所有字段。
返回 Field
对象的一个数组,这些对象反映此 Class
对象所表示的类或接口所声明的所有字段。
获取类中注释:
//获取注释是方法中的字段,以上都是类的字段
1、 Annotation getAnnotation(Class<A> annotationClass)
annotationClass
- 对应于注释类型的 Class 对象
如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。
2、 Annotation[]
getAnnotations()
返回此元素上存在的所有注释
好吧!终于码完了!这灵活的滚动条!
看不懂的话,记得叫我唉!qq319983231 顶一下吧