下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、反射(class类),在java中就是反射就是把Java类中的各种成分映射成相应的java类。 反射的作用: 用于工具,架构,动态开发等开发工程 三种得到类对象的途径: 1.Class.forName(“name”) /输入全类名 2.object.getClass() /得到该对象的类对象 3.object.class Constructor的反射 String str1 = new String(new StringBuffer(abc); /用Constructor构造此String对象 Constructor constructor1 = String.class.getConstru
2、ctor(StringBuffer.class); String str2 = (String)constructor1.newInstance(new StringBuffer(abc); Class.newInstance的作用:调用默认的构造方法 ,省去中间Constructor的步骤 Class.forName(java.lang.String).newInstance();,成员变量的反射,Field FLY = rp1.getClass().getField(y); /FLY不是对象上的变量,代表类身上字节码的变量 ,要用它去取某个对象上对应的值。 FLY.get(rp1); /用
3、get取得y的值 暴力反射:取私有变量 Field FLX = rp1.getClass().getDeclaredField(x);/x为私有变量,所以用此方法 FLX.setAccessible(true);/设置可用 System.out.println(FLX.get(rp1);,3,成员方法的反射,String string = abc; Method methodCharAt = String.class.getMethod(charAt, int.class); /取得String的charAt方法的字节数组 System.out.println(methodCharAt.inv
4、oke(string, 1);/如果底层方法是静态的,该参数可以为 null,因为静态方法没有对象。 如果方法的参数列表为数组,用Object数组来传递对象 System.out.println(methodCharAt.invoke(string, new Objectnew Integer(2); /JDK1.4的形式 System.out.println(methodCharAt.invoke(string, new Object2); /JDK1.5的形式 可以自动装箱,4,数组的反射,具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象。 代表数组的Class实
5、例对象的getSuperclass()方法返回的父类为Object类对应的Class。 基本类型的一维数组可以被当作Object类型使用,不能当作Object类型使用,非基本数据类型的一维数组,既可以当作Object使用,也可以当作Object使用。 Arrays.asList()方法:将数组转换为List。处理int和String时的差异。 Array工具类用于完成数组反射的操作 怎样得到整个数组的元素类型:无法得到,只能得到具体元素的类型 ai.getClass().getName();,5,反射的作用实现框架的功能,在写程序的时候无法知道要调用的类名,所以在程序中无法直接new某个类的实
6、例对象,而要用反射的方式来做。 InputStream ips = new FileInputStream(perties); Properties pr = new Properties(); pr.load(ips); ips.close(); String className = pr.getProperty(className); Collection collections = (Collection)Class.forName(className).newInstance();,采用类加载器管理资源和配制文件,用完整路径:安装目录+内部目录getRealPath(); +内部目录 类加载器:当文件或资源放入源文件目录时,Ecplice会自动将其复制到.class目录中。类加载器从ClassPath指定的根目录开始查找(需写从根目录开始的完整路径名)。 格式:类名.class.getClassLoader(). g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年河北省遵化市高三生物上册期末考试模拟考试卷及参考答案
- 2026年云南省弥勒市高三生物下册期末考试模拟卷及参考答案
- 路面工程施工课件 【学习模块三】学习单元三 二灰稳定类结构层施工
- 洛阳市吉利区2025届三年级数学第二学期期中学业质量监测试题含答案
- 2026年10月自考社会研究方法(03350)模拟试卷(含答案解析)
- 吊顶转换层方案
- 有色金属加工质检员岗前基础理论考核试卷含答案
- 机修钳工岗前情绪管理考核试卷含答案
- 印制电路镀覆工安全素养评优考核试卷含答案
- 苯乙烯-丙烯腈树脂(SAN)装置操作工工作质量能力考核试卷含答案
- 2026年北京市定向招录选调生录用考试真题及答案解析
- 2026年高等教育法学类自考-00261行政法学历年参考题库含答案解析
- 2026年初级会计职称考试基础试题(含解答)及答案
- 中国电动两轮车换电行业市场现状及投资态势分析报告(智研咨询)
- 2025年法考客观题考试真题及答案
- 公共部门经济学(第三版)
- 瀛海太和劳动服务有限责任公司招聘笔试题库2026
- 全息儿童体能训练
- 消防水池有限空间监理细则
- 业务跟单职责及流程制度
- 智能教室设备安装与调试方案
评论
0/150
提交评论