java反射专题二
一丶Class中常用方法详解
1)getFields()
只能获取到运行时类中及其父类中声明为public的属性
获取运行时类本身声明的所有属性
getDeclaredFields()与getFields()的区别:
getDeclaredFiled 仅能获取类本身的属性成员(包括私有、共有、保护)
getField 仅能获取类(及其父类可以自己测试) public属性成员
因此在获取父类的私有属性时,要通过getSuperclass的之后再通过getDeclaredFiled获取。
3)getMethods()
获取运行时类中及其父类中声明为public的方法
获取运行时类本身声明的所有方法
5)getSuperclass()
获取运行时类的父类
获取运行时类带泛型的父类
7)获取运行时类的父类的泛型如下:
1 2 3 4 5 | Class clazz = Person. class ; Type type = clazz.getGenericSuperclass(); //获取带泛型的父类 ParameterizedType param = (ParameterizedType)type; //强转为子类 Type[] ars = param.getActualTypeArguments(); //获得父类的泛型,可能有多个,例如map<k,v> System.out.println(((Class)ars[ 0 ]).getName()); //Class是Type接口的实现类,所以可以强转,输出父类的泛型 |
8)getInterfaces()
获取运行时类实现的接口
9)getPackage()
获取运行时类所在的包
10)getAnnotations()
获取运行时类的注解
二丶Field中常用方法详解
1)getModifiers()
获得属性的权限修饰符,返回对应的整数形式
2)getType()
获取属性的类型,返回的是Class对象
3)getName()
获取属性名
三丶Method中常用方法详解
获取方法上的所有注解
2)getName()
获取方法名
3)getModifiers()
获得方法的权限修饰符,返回对应的整数形式
4)getReturnType()
获取方法的返回值类型,返回的是Class对象
获取方法的形参类型,返回的是Class[] 对象
获取方法的抛出异常类型,返回的是Class[] 对象
带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧