- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java零基础第十二章反射
第十二章 反 射
通过java的反射机制,程序员可以更深入的控制程序的运行过程,如在程序运行时对
用户输入的信息进行验证,还可以逆向控制程序的执行过程。
从JDK1.5开始又新增了Annotation功能,该功能建立在反射机制的基础上,包括定义
Annotation类型的方法和在程序运行时访问Annotation信息的方法.为了便于读者理解,在讲
解过程中还结合了大量的实例。
通过阅读本章,您可以:
确定一个对象的类
取出类的modifiers,数据成员,方法,构造器和超类
找出某个接口里定义的常量和方法说明
创建一个类实例,这个实例在运行时刻才有名字 (运行时间才生成的对象)
取得和设定对象数据成员的值,如果数据成员名是运行时刻确定的也能做倒。
在运行时刻调用动态对象的方法
创建数组,数组大小和类型在运行时刻才确定。也能更改数组成员的值。
12.1Class类与java反射
通过java反射机制,可以在程序中访问已经装载到JVM 中的java对象的描述,实现
访问、检测和修改描述java对象本身信息的功能。java反射机制的功能十分强大,在
java.lang.reflect包中提供了对该功能的支持。
众所周知,所有的java类均继承了Object类,在Object类中定义了getClass方法,该
方法返回一个类型为Class的对象。例如下面的代码:
JtextField tf newJTextField();
Class cs tf.getClass();
利用Class类的对象cs,可以访问用来返回该对象的tf对象的描述信息。可以访问的主
要描述信息如下。
12.2获取Class对象
12.2.1第一种方法获取对象
如果知道某类的实例化对象对象调用getClass获取该类对象的class对象。
例如12-1
JtextField tf newJTextField();
Class cs tf.getClass();
12.2.2第二种方法获取对象
如果你知道类在编译时的名字 (类名)类名调用class获取该类的class对象
例如12-2
Class cs JtextField.class();
12.2.3第三种方法获取对象
1.构造函数没有参数的
有时候,在编译的时候,对象属于哪个类,类名不知道 (多态性),但是在运行的时候
就知道对象属于哪个类了 (运行时刻绑定)。其方法原型如下:
publicstaticClassforName(StringclassName)
参数说明:
返回值:返回与带有给定字符串名的类或接口相关联的 Class 对象
如果你要建立一个对象,用不着构造参数,那么,你可以用Class对象的newInstance 建
立之。其方法原型如下:
public Object newInstance()
参数说明:
返回值: 获取对象
问题是如果此类没有无参构造方法怎么办呢?就扔出了NoSuchMethodException意
外。
例如12-3下面的程序先用forName找到类,然后用newInstance建立一个对象。
importjava.awt.Rectangle;
publicclassTest3DuiXiang
{
publicstaticvoidmain(String[]args)
{
String name java.awt.Rectangle;
try
{
Class cs Class.forName(name);
Object obj cs.newInstance(); //获取对象
Rectangle rt (Rectangle)obj; //把对象赋值给rt
System.out.println(rt.toString());//返回对象的字符串表现形式。
您可能关注的文档
最近下载
- 2021-2022学年初中化学人教版九年级上册 4.4.4 有关相对分子质量的计算 同步习题.docx VIP
- 浙教版科学九年级上册化学方程式汇总复习.docx
- WWT 0050-2014 文物建筑维修基本材料+青瓦.pdf
- 砂浆作业指导书.doc
- TCI 313-2024 碳酸锂中碳酸锂含量测定 电位滴定法.pdf
- 垃圾填埋场飞灰安全填埋专区扩建及环境综合整治工程可行性研究报告.pdf
- (新课标)新冀人版小学科学五年级上册第五单元12课《火山》说课稿.docx
- 中国基层房颤中心认证标准(试行).PDF
- 快递行业研究框架:“战国”时代,静待改善.pdf
- 《指向高中历史核心素养的大单元教学设计研究》课题研究方案.doc
文档评论(0)