Java反射??获取私有属性及方法

发布时间:2021-11-27 13:36:00

复*到Java反射,以此记录一下


首先创建一个class,属性及方法均设为private,私有类型


public class PrivateClass {

private String id = "127.0.0.1";
private String port = "8080";

private String url() {
return id + ":" + port;
}
}

创建一个类,利用Java反射机制获取上面class的私有方法及属性


public static void main(String[] args) {
try {
Class clazz = PrivateClass.class;// 获取PrivateClass整个类
PrivateClass pc = (PrivateClass) clazz.newInstance();// 创建一个实例

Field[] fs = clazz.getDeclaredFields();// 获取PrivateClass所有属性
for (int i = 0; i < fs.length; i++) {
fs[i].setAccessible(true);// 将目标属性设置为可以访问
System.out.println("赋值前:" + fs[i].getName() + ":" + fs[i].get(pc));

fs[i].set(pc, "null");//将属性值重新赋值
System.out.println("赋值后:" + fs[i].getName() + ":" + fs[i].get(pc));
}

Method[] ms = clazz.getDeclaredMethods();// 获取PrivateClass所有的方法
for (int i = 0; i < ms.length; i++) {
ms[i].setAccessible(true);// 将目标属性设置为可以访问
System.out.println("方法 : " + ms[i].getName());//输出所以方法的名称
}
Method m = clazz.getDeclaredMethod("url");
m.setAccessible(true);
System.out.println("url方法返回值:" + m.invoke(pc));//得到结果应该是重新赋值后的值null:null

} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}


对Java反射机制学*尚浅,以此来作为一个开端。



相关文档

  • 五本成功励志的书籍排行榜
  • 画频率响应和零极点图MATLAB,菜鸟 请问如何用matlab画出ITU VA和PA信道的频率响应图如何画出...
  • 民用房屋租赁合同书
  • HR看中简历中的哪些要素
  • 初中生物常用的有效记忆方法
  • raid什么意思中文|RAID卡·什么是接口
  • 怎么把ie收藏夹导入360浏览器
  • 小学生期末评语三年级
  • 重庆市前期物业服务合同
  • 全市工会会议上的讲话
  • 青春绽放光彩演讲稿
  • 樯橹灰飞烟灭的灰和烟是什么意思
  • 联通卡pin密码忘了怎么办
  • 产权交易与实务专业怎么样
  • 《最美孝心少年》观后感450字 - 观后感范文
  • Exception evaluating SpringEL expression:
  • 高考科目顺序
  • 高中作文一切都是新的记叙文
  • 经典励志名言摘抄
  • 合伙做生意怎么记账利润分配的方法
  • 正式公函的格式范文
  • 阿里菜鸟java岗面试
  • 关于校园建设方案的策划书
  • 更年期如何保养更年期保养措施
  • 豆浆可以二次加热吗热豆浆可以保存多久
  • 市场部年度个人工作总结
  • 搭建Spring Mvc+Spring+Hibernate开发框架详细说明
  • 疫情期间学生进入实验室申请表
  • 您若安好便是晴天作文
  • 眼部除皱方法大全
  • 猜你喜欢

  • No后面的名词用单数还是复数
  • 「精品」高中历史第四单元*代中国反侵略求民主的潮流第10课鸦片战争教学课件新人教版必修1-精品资料
  • 大会主持词精选多篇
  • 2018年妈妈的账单读后感word版本 (2页)
  • 关于企业向境外关联方支付费用有躬笠邓?盟拔侍獾墓?孥会计实务,会计实操]
  • 大学生背包族旅行动机与行为特征分析
  • 原地跑步前如何进行热身
  • Value Based Management practices—some evidence from the field
  • 教育部思想政治工作司关于做好“思想政治教育中青年杰出人才支持计划”申报工作的通知
  • 长安大学2007-2008学年第2学期期终考试试题(A)卷
  • 金玲花在什么时候会开花
  • 深圳市梵高艺术品展览服务有限公司(企业信用报告)- 天眼查
  • 【精品试卷】内蒙古北京乌兰察布分校高二生物上学期12月测试试题(无答案)
  • 【报审完整版】基于电子商务手机终端应用的MiuMiu奢侈品品牌推广及相关营销方案
  • 河北省石家庄市鹿泉区第一中学2017-2018学年高一下学期期中考试语文试题
  • 福建旺达美联汽车进出口贸易有限公司企业信用报告-天眼查
  • 在成长中学会感恩初二作文
  • 新人教版上下全册单词(英汉互译)试卷化-直接打印(2016-6-19- 19:30)
  • [实用参考]初中英语短语句型单词.doc
  • XX年《新时期师德修养》学*总结_1
  • 《海峡两岸经济合作框架协议》全文
  • 【推荐】2020九年级物理全册 19.1家庭电路练*(含解析)(新版)新人教版
  • 优选教育年秋七年级语文上册人教版(江西专版)习题课件:19(共25张PPT).ppt
  • 2019年四年级作文300字-难忘的一件事
  • 格式合同备案要提供哪些资料
  • 母亲七十大寿答谢词_母亲70大寿答谢词
  • 高三写人作文:爸、妈,辛苦了_700字
  • 南开大学19秋学期(1709至1909)《管理经济学》在线作业答案1
  • (三年级上) 三、谈白居易和辛弃疾的词四首
  • 计算机专业英语词汇大全
  • 贵州2016年化工工程师《基础知识》:驻波模拟试题
  • 城市旅游形象的设计与
  • 压铸铝散热器项目可行性研究报告(专业经典案例)
  • 2019年温州市中考物理模拟试题与答案
  • 历史趣谈:诸葛亮错了 刘备选择伐吴是最可行的战略方案
  • 宝宝鼻炎怎么治疗
  • 维修工年终工作总结2020年
  • 部编小学一年级我是中国人秦懵芹教案PPT课件 一等奖新名师优质公开课获奖比赛教学设计
  • JJ冀教版 六年级英语 下册第二学期春(教学设计 教案)Unit 2 Lesson 9 Eat More Vegetables and Fruit!
  • 红米手机怎样设置开机密码
  • 江苏省盐城市大丰市万盈第二中学八年级英语下册 Unit 6 Sunshine for all Reading 3课件 (新版)牛津版
  • 射阳县瑞鑫花茶有限公司企业信用报告-天眼查
  • 电脑版