反射系列之属性方法(调用私有方法,获得属性值)
发布日期:2021-06-30 20:37:26
浏览次数:2
分类:技术文章
本文共 1798 字,大约阅读时间需要 5 分钟。
import java.lang.reflect.Field;import java.lang.reflect.Method;class Preson { private String name = "liuqiang"; private int age = 23; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } private int display(String info,int id){ System.out.println("打印信息:"+info); return id; } @Override public String toString() { return this.name + "-->" + this.age; }}public class ReflectDemo { public static void main(String[] args) { test(Preson.class); } public staticvoid test(Class cls) { try { Object obj = Class.forName(cls.getName()).newInstance();//1.通过类名创建新实例 Class classBean = obj.getClass(); //2.获取该新实例的类 Field[] fields = classBean.getDeclaredFields(); //3.取得该类的所有成员变量 //反射属性 for (Field field : fields) { field.setAccessible(true);//4.取消对每个属性的安全检查(说白了,也就是允许私有变量) System.out.println("属性类型:" + field.getType() + "\t属性名:" + field.getName() + "\t属性值:" + field.get(obj)); } //反射方法 Method[] methods = classBean.getMethods(); for (Method m : methods) { System.out.println(m.getName()); } //调用私有方法 参数一:指定调用的方法名 参数二:指定方法后面的参数类型 Method displayMethod = classBean.getDeclaredMethod("display", String.class, int.class); displayMethod.setAccessible(true);//取消对此私有的方法的安全检查 Object liuqiang = displayMethod.invoke(obj, "liuqiang", 23);//调用 System.out.println(liuqiang); } catch (Exception e) { e.printStackTrace(); } }}
转载地址:https://liuqiang.blog.csdn.net/article/details/79761192 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月26日 06时18分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
启发函数heuristic 与 A*
2019-04-30
Image Pyramid(图像金字塔)
2019-04-30
Oracle 作业记录
2019-04-30
putty连接AWS配置(multimedia project)
2019-04-30
Hourglass Network 沙漏网络 (pose estimation姿态估计)
2019-04-30
OpenCV实战(二)——答题卡识别判卷
2019-04-30
目标检测神经网络的发展历程(52 个目标检测模型)
2019-04-30
Boundary loss 损失函数
2019-04-30
tensorflow使用tensorboard进行可视化
2019-04-30
凸优化 convex optimization
2019-04-30
数据库索引 & 为什么要对数据库建立索引 / 数据库建立索引为什么会加快查询速度
2019-04-30
IEEE与APA引用格式
2019-04-30
research gap
2019-04-30
pytorch训练cifar10数据集查看各个种类图片的准确率
2019-04-30
Python鼠标点击图片,获取点击点的像素坐标
2019-04-30