黑马程序员——13_反射笔记

原创 2015年07月06日 23:06:16

获取并操作类中受保护对象

1: 创建目标类Field对象

Field f=目标类.getClass().getDeclaredField("受保护变量名");

2:设置Field标记

f.setAccessible(true);

此时即使目标类中的变量为private也能访问并修改(get和set)。



getFields()方法与getDeclaredFields()

均返回Filed类型数组,若想对指定Field操作,需要遍历该数组并在遍历过程中进行判断和操作。




调用静态方法

1:创建目标类Method对象

Method m=目标类.getClass().getDeclaredMethod("方法明",参数.class);

2:调用

m.invoke(null,参数);




参数为数组时,传入写法需注意:

当参数为某一个类型的数组时,在调用该方法时若写:

定义:  方法(类型[] args);

调用:   方法(new 类型[] args);   方法(数组名);

此时虚拟机会将此参数识别为jdk低版本中多参数写法,则会对数组进行遍历,导致程序挂。

解决方案:

方法(new (Object)类型[] args);   方法((Object)数组名);

将参数数组封装在一个Object元素中,这时虚拟机则会将整个参数传入方法,使程序正常运作。





黑马程序员学习笔记 Java的三大框架

如果做javaweb开发,spring是一定要学的,现在主流还是ssh,就是strurs+hibernate+spring,其中hibernate是持久层,用来持久化数据库操作的,如果不喜欢可以学点别...
  • Mr_April
  • Mr_April
  • 2015年07月03日 17:12
  • 1525

黑马程序员_我的Linux基础整理笔记

Linux Linux文件目录和分区 文件目录: /:根目录 /root:存放root用户的相关文件 /home:存放普通用户的相关文件 /bin:存放普通用户的可执行命令 /sbin:...
  • zhengzhongjie1990
  • zhengzhongjie1990
  • 2014年07月05日 17:08
  • 1499

黑马程序员前端与移动开发学院2.0课程震撼来袭!

随着移动互联网深入发展,大前端时代的前端开发工程师在公司中的地位逐渐上升。前端工程师也摆脱了只是写写HTML标签、CSS样式、写写简单的JS效果的时代。大前端时代的前端工程师要求既能掌握基本的设计图的...
  • itcast_cn
  • itcast_cn
  • 2016年11月04日 11:15
  • 1461

黑马程序员——Java学习笔记之13——“反射”总结

sdaf
  • u010966408
  • u010966408
  • 2014年04月10日 20:52
  • 220

黑马程序员——学习笔记13.Java正则表达式

----------------------ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ---------------------- 正则表达式 基本概念: 正则:就是...
  • u011924083
  • u011924083
  • 2014年01月10日 23:09
  • 381

黑马程序员_JAVA笔记13——String、StringBuffer

------- android培训、java培训、期待与您交流! ---------- 1、String, 定义:public  final class String         字符串是一个...
  • u011453546
  • u011453546
  • 2013年09月01日 16:49
  • 364

黑马程序员——Objective-C程序设计(第4版)学习笔记之13-基本的C语言特性——黑马 IOS 技术博客

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 这章,讲述了Objective-C相关联的C语言特性,大部分内容学过C语言的都...
  • dumengqiu
  • dumengqiu
  • 2014年12月21日 15:55
  • 902

[黑马程序员]13[OC语言]OC三大特性部分学习笔记总结

------- android培训、java培训、IOS培训、期待与您交流! ---------- OC三大特性   1.    封装 01. 基本语法   //set方法:成员变量的封装 ...
  • astina2011
  • astina2011
  • 2015年04月15日 02:22
  • 224

黑马程序员--java笔记13--图形用户接口GUI

图形用户接口GUI Java.Awt(重量级控件、依赖平台) Java.Swing(轻量级控件、有可移植性) 继承关系图:   Component:组件 Checkbox:复选框 Panel:面板(不...
  • c_day_day_study
  • c_day_day_study
  • 2015年11月24日 12:51
  • 207

黑马程序员—13—java基础:有关集合类的学习笔记和心得体会

------- android培训、java培训、期待与您交流! ---------- 1. 为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对 ...
  • jiyuntao106
  • jiyuntao106
  • 2014年02月16日 13:48
  • 399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——13_反射笔记
举报原因:
原因补充:

(最多只允许输入30个字)