JAVA反射(3) - Method成员方法解析

本文深入探讨Java反射API中Method类的使用方法,包括如何通过反射调用方法、获取方法的各种属性如名称、修饰符、参数类型及注解等,并特别关注桥接方法与复合方法的特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.简要说明
a) 继承的方法(包含重载、重写和隐藏的)会被编译器强制执行,这些方法无法反射
b) 方法组成元素为:修饰符、返回值、参数、注解和抛出的异常组成
1.涉及名词
a) “桥接方法”
b) “复合方法”

3.Class

基本属性

1) getName() 获取方法名称
2) getDeclaringClass() 获取方法属类的字节码对象
3) getModifiers() 获取方法修饰符
4) getDefaultValue()
5) invoke(Object obj, Object… args) 执行obj方法,方法入参args

返回值相关

1) getReturnType() 方法的返回类型类型Class

参数相关

1) getTypeParameters()   按照声明顺序返回 方法的形参类型Class 对象的数组
2) getParameterTypes()
3) getParameterCount() 该方法的参数数量
4) getGenericParameterTypes()  按照声明顺序返回 方法的形参类型Type 对象的数组

抛出异常相关

1) getExceptionTypes() 返回该方法抛出的异常类型数组Class

注解相关

1) getAnnotation(Class annotationClass) 返回指定类型的注释,否则返回null
2) getAnnotationsByType(Class annotationClass)
3) getAnnotations() 返回此方法上的所有注释
4) getDeclaredAnnotations() 返回直接存在于此元素上的所有注释,不包含继承过来的(貌似:目前方法不能继承注释,类可以)
5) getParameterAnnotations() 按顺序返回个入参的注释数组
6) getAnnotatedReturnType()

方法类型判断

1) isBridge()是否为桥接方法
2) isVarArgs()
3) isSynthetic()是否为复合方法
4) isDefault() 是否为default方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值