java反射笔记,详解.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前段时间做项目需要用到Java反射(很简单的执行一个方法),但是脑子里无料,上网查找才找到解决方法。最近闲来无事,准备学习一下java反射机制。以下为本人学习的笔记。以供以后复习用。不喜勿喷!!!java反射:可以在不知道类的具体结构,内部封装的情况下,可以知道它的内部所有属性,方法(不管是不是私有)。 并且可以操作属性,赋值,调用方法。一个类的信息无非就是,父类,实现的接口,内部属性,方法,内部类(欢迎补充)java反射可以动态的知道这些。java反射功能(大纲):1:构造一个类的实例化对象(相当于?new 一个对象)1.1:无参数实例化(.newInstance())1.2:带参数实例化(newInstance(parameters)),具体实现需要先知道哪个构造器,在通过构造器调用这个newInstance(parameters)。2:获取对象属性2.1:获取对象public属性(getFields())2.2:获取指定的public属性(getField(fieldName);)2.3:获取指定属性的值(get(ob1))2.4:给指定的public属性赋值(set(ob1,value))2.5:获取对象所有属性(getDeclaredFields())2.6:获取指定的属性(属性权限不限)(getDeclaredField(fieldName))2.7:获取指定属性的值(get(ob1))操作私有属性需要将属性的Accessible 设定为true(setAccessible(true))2.8:给指定的属性赋值(属性权限不限?private的也可以)(set(ob1,value))操作私有属性需要将属性的Accessible 设定为true(setAccessible(true))3:获取对象方法3.1:获取对象的public方法(getMethods())3.2:获取指定的public方法(?getMethod(parm1,parm2))parm1对应的方法名称,parm2对应的参数列表Class[]数组形式,没有的话 null3.3:执行方法(invoke(parm1,parm2))parm1反射的这个类的实例,parm2对应的参数值列表Object[]数组形式,没有的话 null3.4:获取对象所有方法(getDeclaredMethods())3.5:获取指定的方法(方法权限不限)(getDeclaredMethod(parm1,parm2))?parm1对应的方法名称,parm2对应的参数列表Class[]数组形式,没有的话 null3.6:执行方法(invoke(parm1,parm2))parm1反射的这个类的实例,parm2对应的参数值列表Object[]数组形式,没有的话 null操作私有方法需要将属性的Accessible 设定为true(setAccessible(true))4:获取对象构造函数4.1:获取对象的public构造函数(无参数)(getConstructors())4.2:获取对象所有构造函数(无参数)(getDeclaredConstructors())4.3:获取指定的public构造函数(带参数)getConstructor(parameterTypes)4.4:获取指定的构造函数(权限不限,且带参数)(getDeclaredConstructor(parameterTypes))5:获取父类(getSuperclass())6:获取实现的接口信息6.1:获取接口信息(getInterfaces())6.2:获取接口信息(getGenericInterfaces():和上面的方法不同的是这个可以打印出接口是否存在泛型)大纲写好了,了解了大概的。下面是我整理的与上面相关的代码,都可以直接执行,代码注释也比较详细,就不在每步都解释一遍。Word里面看比较费劲 最好是粘贴到eclipse里面看。亲测没问题。package com.soft.xww.refleaction;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.Modifier;import java.lang.reflect.Type;/** * java反射机制是在运行状态中,对于任意一个类,都能够知道它的 * 所有属性和方法;对于任意一个对象,都能调用它的任意一个 * 方法;这种动态获取的信息以及动态调用对象的方法的

文档评论(0)

fds373ix + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档