反射(三)获取元素

简介: 反射(三)获取元素

获取类

反射技术的第一步是先得到 Class 类对象,有三种方式获取:

  • 类名.class
  • 类的对象.getClass()
  • Class.forName("类的全限名"):public static Class<?> forName(String className)

Class 类下的方法:

方法 作用
String getSimpleName() 获得类名字符串:类名
String getName() 获得类全名:包名+类名
T newInstance() 创建 Class 对象关联类的对象,底层是调用无参数构造器,已经被淘汰

获取构造

获取构造器的 API:

  • Constructor getConstructor(Class... parameterTypes):根据参数匹配获取某个构造器,只能拿 public 修饰的构造器
  • Constructor getDeclaredConstructor(Class... parameterTypes):根据参数匹配获取某个构造器,只要申明就可以定位,不关心权限修饰符
  • Constructor[] getConstructors():获取所有的构造器,只能拿 public 修饰的构造器
  • Constructor[] getDeclaredConstructors():获取所有构造器,只要申明就可以定位,不关心权限修饰符

Constructor 的常用 API:

方法 作用
T newInstance(Object... initargs) 创建对象,注入构造器需要的数据
void setAccessible(true) 修改访问权限,true 攻破权限(暴力反射)
String getName() 以字符串形式返回此构造函数的名称
int getParameterCount() 返回参数数量
Class<?>[] getParameterTypes 返回参数类型数组

获取变量

获取 Field 成员变量 API:

  • Field getField(String name):根据成员变量名获得对应 Field 对象,只能获得 public 修饰
  • Field getDeclaredField(String name):根据成员变量名获得对应 Field 对象,所有申明的变量
  • Field[] getFields():获得所有的成员变量对应的 Field 对象,只能获得 public 的
  • Field[] getDeclaredFields():获得所有的成员变量对应的 Field 对象,只要申明了就可以得到

Field 的方法:给成员变量赋值和取值

方法 作用
void set(Object obj, Object value) 给对象注入某个成员变量数据,obj 是对象,value 是值
Object get(Object obj) 获取指定对象的成员变量的值,obj 是对象,没有对象为 null
void setAccessible(true) 暴力反射,设置为可以直接访问私有类型的属性
Class getType() 获取属性的类型,返回 Class 对象
String getName() 获取属性的名称

获取方法

获取 Method 方法 API:

  • Method getMethod(String name,Class...args):根据方法名和参数类型获得方法对象,public 修饰
  • Method getDeclaredMethod(String name,Class...args):根据方法名和参数类型获得方法对象,包括 private
  • Method[] getMethods():获得类中的所有成员方法对象返回数组,只能获得 public 修饰且包含父类的
  • Method[] getDeclaredMethods():获得类中的所有成员方法对象,返回数组,只获得本类申明的方法

Method 常用 API:

  • public Object invoke(Object obj, Object... args):使用指定的参数调用由此方法对象,obj 对象名
目录
相关文章
|
8天前
|
存储 弹性计算 缓存
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
本文更新了2026年阿里云全系列云服务器租赁活动报价,所有特惠资源均可前往阿里云活动中心选购,整体覆盖从个人入门到企业级高性能场景的全梯度需求。其中轻量应用服务器主打极致性价比,2核2G峰值200M带宽配置每日10点、15点限时抢购价仅38元/年,2核4G配置379元/年起;高性价比的经济型e实例、通用算力型u2i实例覆盖2核4G至4核32G全档位,适配开发测试与中小型企业业务;搭载英特尔至强6处理器的第九代c9i企业级实例算力较上代提升20%,支撑高并发生产环境,不同实例规格价差清晰,用户可根据自身业务负载与预算灵活选型。
1789 117
阿里云服务器租赁费用:新版租赁收费标准及活动报价参考
缓存 安全 IDE
1353 2
|
9天前
|
人工智能 程序员 API
Codex 接入 DeepSeek-V4-Flash:还能补上识图,提供两套方案
Codex 接入 DeepSeek-V4-Flash 怎么配?本文覆盖 CLI 与桌面端,再用 qwen3-vl-flash 补识图,两套方案可直接照做
1337 11
|
14天前
|
云安全 人工智能 运维
阿里云联动百位企业安全专家,共识Agent防御最佳实践
当Agent成为新员工,你的安全边界在哪里?
1961 9
阿里云联动百位企业安全专家,共识Agent防御最佳实践
|
8天前
|
编解码 人工智能 安全
2核4G/4核8G/8核16G阿里云服务器如何选择实例?经济型e、通用算力型u2i与计算型c9i选哪个?
本文介绍了阿里云2核4G、4核8G、8核16G三档主流配置下经济型e、通用算力型u2i和计算型c9i三种实例的最新活动价格与适用场景。同配置下三者价差显著,以2核4G为例,经济型e低至599.93元/年,计算型c9i则高达1742.08元/年。文章详细解析了各实例的性能定位:经济型e适合轻负载入门场景,u2i兼顾稳定算力与性价比,c9i凭借第9代至强处理器与芯片级安全能力支撑高性能业务。同时提示用户可叠加满减优惠券享受折上折,建议根据业务负载与预算综合决策。
545 113
|
6天前
|
编解码 弹性计算 云计算
MiniMax-H3 视频生成模型 — 一键部署与使用指南
MiniMax-H3是MiniMax开源的33B全模态视频生成模型,支持文生视频、图生视频、参考生视频三种模式,原生输出2K/15秒带立体声音频视频,已原生适配ComfyUI,并可通过阿里云计算巢一键部署。(239字)
|
21天前
|
人工智能 前端开发 Linux
Codex 桌面版安装 + CC Switch 接入第三方 API 完整教程(2026 最新)
2026最新教程:手把手教你安装Codex桌面版,通过CC Switch v3.17.0一键接入Fenno等国产API(兼容OpenAI Responses格式),跳过账号登录,完整启用代码审查、多步任务与上下文感知功能。零基础友好,全程图文实操。(239字)
3132 4
|
8天前
|
人工智能 JSON Shell
2026AI漫剧本地全开源方案(附各个软件模型链接),8G显卡也能流畅运行
这是一套完全本地化部署的AI漫剧生成技术链路:涵盖LLM剧本分镜生成、FLUX文生图(IP-Adapter人脸锁定)、StoryDiffusion时序连贯控制、LTX-2.3唇形同步视频生成,及ComfyUI全流程调度。零云端费用,仅耗硬件算力,单集2–4小时可产出竖屏短视频,适配抖音/B站分发。
|
7天前
|
人工智能 API 开发工具
2026 零基础本地 AI 漫剧完整实操教程(8G 笔记本显卡可用|附可直接复制命令与代码)
本方案提供完全离线、本地运行的漫剧全自动制作流程:RTX3060/4050 8G显卡即可驱动,涵盖Qwen写分镜→ComfyUI统一角色绘图→LTX2.3图生微动画→Qwen3-TTS本地配音→FFmpeg自动合成,全程无水印、免API、不限次。专为低显存优化,解决变脸、闪烁、爆内存三大痛点。(239字)

热门文章

最新文章