Android 反射的一些重要方法

一、反射是什么?

反射是运行状态中我们可以通过反射获取到类的所有信息,包括构造方法、成员变量、属性、方法等,对其可以进行操作。

二、反射中的一些方法使用。

    1.class
	getName(): 获取全类名,带包名
	getSimpleName(): 获取类名
	Class.forName("类名全路径"):返回类对象
	getPackage(): 获取包名,有前缀package 
	getClassLoader(): 获取类加载器
	getClasses(): 获取该类中的公共内部类
	getDeclaredClasses(): 获取该类中包含的所有类跟接口,包括非公共的
	getSuper(): 获取继承父类类名
	getInterfaces(): 获取接口
	
	2.field
	getFields(): 获取公共字段
	getDeclaredFields(): 获取类中的所有字段
	getAnnotation(注解.class): 获取注解
	
	3.construction
	getConstructions(): 获取公共的构造方法
	getDeclaredConstructions(): 获取所有的构造方法
	getDeclaredConstruction(Class... class): 根据参数的类型获取构造方法
	
	4.method
	getMethods(): 获取公共方法
	getDecleardMethods(): 获取所有的方法
	getDeclaredMethod(String name, Class.... params): 根据方法名称跟参数列表获取方法
	
	5.其它方法
	isInterface(): 是否是接口
	isAnnotation(): 判断是否是注解
	isArray(): 是否是数组
	isEnum(): 是否是枚举
	isAnnotationPresent(Annotation.class): 判断是否有指定注解
	
	6.反射相关方法
	setAccessible(true): 设置暴力反射,无视限定符
	Field.get(obj): 获取指定对象的field属性值
	Field.set(obj, value): 设置obj对象的field属性为value值
	Method.invoke(obj, Params.class):执行指定对象的该方法
发布了12 篇原创文章 · 获赞 9 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/no_loafer/article/details/105673501