当前位置:网站首页>反射机制
反射机制
2022-08-03 20:47:00 【昭昭..】
反射的定义
什么是反射:
反射是java提供的一套动态执行的API。也就是说是在运行状态中,对于任意一类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能成为java语言的反射机制
Class属性的获取
Class对象: 是反射的入口,加载类到内存。获取class对象的三种方式
方式一、(知道包名+ 类名)动态获取
class.forname(“”);
获取结果:
包名+类名可以是自定义的也可以是java自带的
方式二、类名.class 获取
在java中所有的类都默认有一个.class属性
获取结果
方式三、对象.getclass
经常用于动态检查某个对象的类型
获取结果:
根据类名创建对象
.newInstance();
获取结果
访问对象属性
- 步骤1:加载class属性
- 步骤2:调用.getFields方法

结果:
读取对象的属性值
读取公有属性
1.获取指定公有属性:getField
- 创建对象
- 读取属性值
结果:
2.获取全部公有属性:getFields
结果
3.读取全部属性:包括私有属性

200的属性值是私有,必须打开访问权限,否则会报错
4.读取指定属性值(包括私有)
结果:
修改对象属性:set
结果:
访问方法
- 步骤1:获取Class
- 步骤2.在类上找到声明的法:getDeclaredMethod
- 步骤3.在对象上调用方法
结果:

动态打开访问权限
在利用反射访问属性/方法之前使用setAccessible打开访问权限
作用
边栏推荐
- Leetcode sword refers to Offer 15. 1 in the binary number
- 双线性插值公式推导及Matlab实现
- leetcode 剑指 Offer 15. 二进制中1的个数
- charles配置客户端请求全部不走缓存
- Edge box + time series database, technology selection behind Midea's digital platform iBuilding
- 函数,递归以及dom简单操作
- leetcode 2119. 反转两次的数字
- 云服务器如何安全使用本地的AD/LDAP?
- 尚医通项目总结
- Orcad Capture Cadence 新建原理图多部分smybol和Homogeneous、Heterogeneous类型介绍教程
猜你喜欢

收藏-即时通讯(IM)开源项目OpenIM-功能手册

Power button - 203 - remove the list elements linked list

tidyverse based on data.table?

双线性插值公式推导及Matlab实现

2022-8-3 第七组 潘堂智 锁、多线程

Engineering Effectiveness Governance for Agile Delivery

手动输入班级人数及成绩求总成绩和平均成绩?

数据库定时备份winserver2012篇

tRNA-m5C转运RNA(tRNA)修饰5-甲基胞嘧啶(m5C)|tRNA修饰m1Am2A (2-methyladenosine)

5 款漏洞扫描工具:实用、强力、全面(含开源)
随机推荐
Auto.js脚本程序打包
DDD 中的几个困难问题
在树莓派上搭建属于自己的网页(4)
史兴国对谈于佳宁:从经济模式到落地应用,Web3的中国之路怎么走?
leetcode 326. 3 的幂
信使mRNA甲基化偶联3-甲基胞嘧啶(m3C)|mRNA-m3C
Orcad Capture Cadence 新建原理图多部分smybol和Homogeneous、Heterogeneous类型介绍教程
leetcode 16. 数值的整数次方(快速幂+递归/迭代)
AWTK开发编译环境踩坑记录1(编译提示powershell.exe出错)
【HiFlow】经常忘记签到怎么办?使用腾讯云场景连接器每天提醒你。
RNA核糖核酸修饰荧光染料|HiLyte Fluor 488/555/594/647/680/750标记RNA核糖核酸
详解虚拟机!京东大佬出品 HotSpot VM 源码剖析笔记(附完整源码)
ECCV 2022 | 清华&腾讯AI Lab提出REALY:重新思考3D人脸重建的评估方法
glusterfs 搭建使用
面试官:为什么 0.1 + 0.2 == 0.300000004?
leetcode 1837. The sum of the digits in the K-base representation
盲埋孔PCB叠孔设计的利与弊
云图说丨初识华为云微服务引擎CSE
迪赛智慧数——柱状图(多色柱状图):2021年我国城市住户存款排名
关于shell脚本的一些思考