JAVA面向对象_阮卫_第12章课件.ppt

JAVA面向对象_阮卫_第12章课件.ppt

ID:57057945

大小:117.00 KB

页数:15页

时间:2020-07-30

JAVA面向对象_阮卫_第12章课件.ppt_第1页
JAVA面向对象_阮卫_第12章课件.ppt_第2页
JAVA面向对象_阮卫_第12章课件.ppt_第3页
JAVA面向对象_阮卫_第12章课件.ppt_第4页
JAVA面向对象_阮卫_第12章课件.ppt_第5页
资源描述:

《JAVA面向对象_阮卫_第12章课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java反射机制目标理解Java反射机制应用Java反射API什么是反射在运行时加载、探知、使用编译期间完全未知的classes允许运行中的Java程序对自身进行“自审”Class类反射的起源当类加载以后,JVM便自动产生一个Class对象使用该对象就可以获取一个类中的方法、成员以及 构造方法的声明和定义等信息反射API反射API用于反应在当前Java虚拟机中的类、接口或者对象信息功能—获取一个对象的类信息.—获取一个类的访问修饰符、成员、方法、构造方法以 及超类的信息.—检获属于一个接口的常量和方法声明.—创

2、建一个直到程序运行期间才知道名字的类的实例.—获取并设置一个对象的成员,甚至这个成员的名字是 在程序运行期间才知道.—检测一个在运行期间才知道名字的对象的方法使用Reflectionjava.lang.relfect包遵循三个步骤 第一步是获得你想操作的类的java.lang.Class对象 第二步是调用诸如getDeclaredMethods的方法 第三步使用reflectionAPI来操作这些信息获得一个Class对象如果一个类的实例已经得到,你可以使用【Classc=对象名.getClass();】例:T

3、extFieldt=newTextField();Classc=t.getClass();Classs=c.getSuperclass();如果你在编译期知道类的名字,你可以使用如下的方法Classc=java.awt.Button.class;或者Classc=Integer.TYPE;如果类名在编译期不知道,但是在运行期可以获得,你可以使用下面的方法Classc=Class.forName(strg);简单示例importjava.lang.reflect.*;publicclassSearchMethod

4、s{publicstaticvoidmain(Stringargs[]){try{Classc=Class.forName(args[0]);Methodm[]=c.getDeclaredMethods();for(inti=0;i

5、ass[] params) --获得使用特殊的参数类型的公共构造函数•Constructor[] getConstructors() --获得类的所有公共构造函数•Constructor getDeclaredConstructor(Class[] params) --获得使用特定参数类型的构造函数(与接入级别无关)•Constructor[] getDeclaredConstructors() --获得类的所有构造函数(与接入级别无关)应用反射API2.获取类定义变量•Field getField(Strin

6、g name) --获得命名的公共字段•Field[] getFields() --获得类的所有公共字段•Field getDeclaredField(String name) --获得类声明的命名的字段•Field[] getDeclaredFields() --获得类声明的所有字段3.获取类定义方法•Method getMethod(String name, Class[] params) --使用特定的参数类型,获得命名的公共方法•Method[] getMethods() --获得类的所有公共方法•Me

7、thod getDeclaredMethod(String name, Class[] params) --使用特写的参数类型,获得类声明的命名的方法•Method[] getDeclaredMethods() --获得类声明的所有方法应用反射API创建对象获取构造器信息找出类的方法获取类的字段根据方法的名称来执行方法实例:利用反射动态实例化对象1定义一个类的配置文件如下:实例:利用反射动态实例化对象2新建一个Account帐号类如下:实例:利用反射动态实例化对象3新建一个反射工具类实例化Account,并调用

8、SET方法注入参数如下:实例:利用反射动态实例化对象4新建一个测试方法如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。