版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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年农业保险政策理解与应用题库
- 2026年程序员职业技能考核多选题集
- 2026年矿产系统版金属矿产资源管理知识试题
- 数字遗产权利主体界定课题申报书
- 护理礼仪在术前宣教中的健康教育策略
- 2026年玻璃行业熔化工程师招聘面试题集与解析
- 2026年语文阅读理解能力训练题
- 运动让我与众不同演讲稿
- 2025年公安机关基本级执法资格考试真题试卷(含答案)
- 新高考教学教研联盟(长郡二十校)2026届高三年级4月第二次联考生物试卷(含答案详解)
- 大健康福州行业分析报告
- 2026年入团考试试卷真题及答案
- (2026年课件合集)教科版三年级科学下册全册教案
- 2026年上海市静安区高三下学期二模化学试卷和答案
- 2026广东阳江市江城区百越企业管理有限公司招聘3人备考题库含答案详解(基础题)
- 2026年中央一号文件考公50道核心考点题目及解析(附:答案)
- 部队内部物业管理制度
- 2024人教版八年级英语下册Unit 1-8作文16篇范文
- 口岸知识教学课件
评论
0/150
提交评论