Java反射里的常用的方法

获取成员变量们
    获取所有public修饰的成员变量的(包括父类的public修饰的变量)
    1.Field[] getFields()
    获取所有的成员变量,但不包括父类的变量
    2.Field[] getDeclaredFields()
    3.Field getField(String name)
    4.Field getDeclaredField(String name)
获取构造方法们
    1.Constructor<?>[] getConstructors()
    2.Constructor<?>[] getDeclaredConstructors()
    3.Constructor<T> getConstructor(Class<?>... parameterTypes)
    4.Constructor<T> getDeclaredConstructor(Class<?>... parameterTypes)
获取成员方法们
    1.Method[] getMethods()
    2.Method[] getDeclaredMethods()
    3.Method getMethod(String name, Class<?>... parameterTypes)
    4.Method getDeclaredMethod(String name, Class<?>... parameterTypes)
获取类名
    String getName()
忽略访问权限修饰符的检查,如果是使用private修饰的话需要该方法
    setAccessible(true);
Field:成员变量
	1.设置值:
		obj:需要修改值的对象,value:该字段的新值
		void set(Object obj, Object value)
	2.获取值
		obj:需要获取值的对象
		Object get(Object obj)
Constructor:构造方法
	1.创建对象
		T newInstance(Object ... initargs)
		如果使用空参数的构造函数可以使用以下方法
		clazz.getDeclaredConstructor().newInstance()
Method:方法对象
	1.获取方法对象
	2.执行方法
		obj:需要执行方法的对象 args:方法需要的参数
		Object invoke(Object obj, Object... args)
  • 新增 注解相关(Annotation)
// 判断是否包含指定注解 true:包含   false:不包含
boolean isAnnotationPresent(Class<? extends Annotation> annotationType)
// 返回 以数组的型式该元素上的所有注解,无则数组长度为0
Annotation[] getAnnotations()
// 根据参数获取指定的注解,无 则返回 null
<T extends Annotation> T getAnnotation(Class<T> annotationClass)
// 根据指定参数返回指定的注解数组
<T extends Annotation> T[] getAnnotationsByType(Class<T> annotationClass)
// declared的 就是获取所有但不包括父类,其他的意思同上
Annotation[] getDeclaredAnnotations()
<T extends Annotation> T getDeclaredAnnotation(Class<T> annotationClass)
<T extends Annotation> T[] getDeclaredAnnotationsByType(Class<T> annotationClass)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ljp345775

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值