2015-08-12~14 反射

反射:

若程序运行时接收到外部传入的一个对象,该对象的编译类型是Object,但程序又需要调用该对象运行类型的方法:

1.若编译和运行类型都知道,使用 instanceof判断后,强转。

2.编译时根本无法预知该对象的类属于哪些类,程序只能依靠运行时信息来发现对象和类的真实信息,这是反射就必须使用了。

3.要是想通过对象来找其对应的类名,就得使用反射。

Class类和Class类实例

  • Class类代表Java类,它的各个实例对象分别对应各个类在内存中的字节码。
  • 类被类加载器加载到内存中,占用一片存储空间,内容就是类的字节码,类不同字节码也不同。
  • 一个类在虚拟机中通常只有一份字节码。

获得Class对象

类被加载后,系统会为该类生成对应的Class对象,通过Class对象可以访问到JVM中的这个类,3种方式:

  • 使用Class类的forName(String n)静态方法,n表示类全名;包名.子包名....类名
  • 调用某个类的class属性获取Class对象,如Date.class会返回Date类对应的Class对象(其实就是得到一个类的一份字节码文件);
  • 调用某个对象的getClass()方法。该方法属于Object类;
    • Class<Date> clz = new Date().getClass();

Class类中boolean isPrimitive() :判定 Class 对象是否表示一个基本类型。(8个基本数据类型+void)

  包装类和Void类的静态TYPE属性: Integer.TYPE == int.class ;

  数组类型的Class实例对象:Class<String[]> clz = String[].class;

  boolean isArray() :判定此 Class 对象是否表示一个数组类。

从Class中获取信息

  -构造方法Constructor

    Constructor<T> getConstructor(Class<?>... parameterTypes)

      返回该Class对象表示类的指定的public构造方法。

    Constructor<?>[] getConstructors()

      返回该Class对象表示类的所有public构造方法。

  -方法Method

    Method getMethod(String name, Class<?>... parameterTypes)

      返回该Class对象表示类和其父类的指定的public方法。

    Method[] getMethods():

      返回该Class对象表示类和其父类的所有public方法。

  -字段Field

    Field getField(String name)

      返回该Class对象表示类和其父类的指定的public属性。

    Field[] getFields()

      返回该Class对象表示类和其父类的所有public属性。

 

时间: 2024-08-23 21:40:13

2015-08-12~14 反射的相关文章

Storm(2015.08.12笔记)

2015.08.12Storm ? 一.Storm简介 Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架. ? Storm能实现高频数据和大规模数据的实时处理. 官网资料显示storm的一个节点在1秒钟能够处理100万个100字节的消息([email protected]的CPU,24GB的内存) (storm +kafka+flume) ? ? 二.HADOOP与STORM比较 数据来源:HADOOP处理的是HDFS上TB级别的数据(历史数据),STORM是处理的是实时

2015年12月14日 星期一 日本为什么那么强大

body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bo

dockone上2015.08 Docker有价值文章

Docker入门与基础 [1] Docker入门实战, http://yuedu.baidu.com/ebook/d817967416fc700abb68fca1 [2] 什么是Docker?刘梦馨, 28 Jun 2014, http://oilbeater.com/docker/2014/06/28/what-is-docker.html [3] 访谈 | Docker公司首席布道师谈容器和下一代虚拟化, http://dockone.io/article/590 [4] 两年之后,再思考D

2015年12月国内浏览器市场份额:IE卫冕失败

IDC评述网(idcps.com)01月05日报道:根据百度统计的最新数据显示,在2015年12月国内浏览器市场上,Chrome打败IE,以36.80%份额夺冠,相比11月份的36.49%,增加0.31%.而IE则退至第2,份额36.16%,较11月减少0.55%.接下来,请看IDC评述网整理的详细数据情况. (图1)2015年12月国内浏览器市场份额分布图 如图1所示,在2015年12月份,国内浏览器市场份额前6强排名顺序,环比同年11月份,发生细微变动.Chrome取代IE成为霸主,IE则跌

2015年12月钓鱼网站域名涉及注册商分析:阿里居首

IDC评述网(idcps.com)01月14日报道:近日,中国反钓鱼网站联盟发布了<2015年12月钓鱼网站处理简报>.据报告显示,12月份,联盟共处理钓鱼网站14900个,环比11月上升了95%,增幅明显.截止至2015年12月,联盟累计认定并处理钓鱼网站278693个.接下来,请看IDC评述网整理的12月钓鱼网站处理情况. 1.钓鱼网站举报来源情况 2015年12月钓鱼网站举报主要来源有联盟成员.联盟自查.12321举报中心.社会举报.其中,联盟成员举报的钓鱼网站数量占总举报量的89.95

2015年12月全球浏览器份额:IE份额首次跌破50%

IDC评述网(idcps.com)01月08日报道:根据市场研究公司Net Applications最新数据显示,在2015年12月全球浏览器市场上,霸主IE份额跌至48.57%,环比11月下降1.46%,降幅增大明显.而亚军Chrome份额持续上涨,较11月增加0.92%,升至32.33%.接下来,请与IDC评述网一同关注相关数据情况. (图1)12月全球浏览器市场份额分布图 如图1所示,在2015年12月,全球浏览器市场份额大战中,IE与Chrome稳居前二,份额依次是48.57%.32.3

2015年12月流量入口占比动态:仅直接访问实现上涨

IDC评述网(idcps.com)01月27日报道:根据百度统计发布的最新数据显示,在2015年12月,国内流量入口浏览量占比五强排名情况,与11月相比,无变化.直接访问居首,占比环比上涨0.84%,达到41.44%.而另外四强的占比均遭到蚕食,其中降幅最大的是搜索引擎,环比减少0.53%. 下面,请看IDC评述网整理的详尽数据情况. (图1)12月国内流量入口浏览量占比 如图1所示,在2015年12月,国内流量入口浏览量占比五强情况分别是:直接访问第1,占41.44%:其他外链第2,占31.2

我的Python成长之路---第一天---Python基础(作业1:登录验证)---2015年12月26日(雾霾)

1 #!/usr/bin/env python3 2 # coding:utf-8 3 ''' 4 Created on: 2015年12月29日 5 6 @author: 张晓宇 7 8 Email: [email protected] 9 10 Version: 1.0 11 12 Description: 输入用户名密码,认证成功显示欢迎信息,认证失败,输错三次后锁定 13 14 Help: 15 ''' 16 import os 17 # 定义用户信息写入函数,用于把用户信息写回文件 1

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配

12.13 Nginx防盗链 vim /usr/local/nginx/conf/vhost/test.com.conf加入location ~ ^.+.(gif|jpg|png|swf|flv|rar|zip|doc|pdf|gz|bz2|jpeg|bmp|xls)${expires 7d;valid_referers none blocked server_names .test.com ;if ($invalid_referer) {return 403;}access_log off;}

【谜客帝国】第十届枫岩风羽原创老谜会(2015.1.12)

谜客帝国第十届枫岩风羽原创老谜会(2015.1.12)主持:瓷      计分:阳光1.<白鹿原>作者来看望大家(四字称谓) 忠实观众2.“嬉戏无如李天下”(葛优电影)  顽主3.“望之蔚然而深秀者,琅琊也”(金庸小说人物) 张翠山4.打娶妻后兴味少(四字常言)  自讨没趣5.“踏毙老稚十二三,垂死始得粥一箪”(离合音字) 吃挨踩6.两地别后芳心变 (8划字) 卦7.“驾此一轮玉”(二字股市术语) 开盘8.且饶那游子一命 (闽南语歌曲)  放浪人生9.垂青先辈老宅 (郑智化歌词一句)  喜欢上