反射
来源:互联网 发布:java集合框架及其特点 编辑:程序博客网 时间:2024/05/23 16:49
反射
反射库(reflection library)提供了一个非常丰富且精心设计的工具集,以便编写能够动态操纵java代码的程序。
能够分析类能力的程序称为反射(reflective)。反射可以用来: · 在运行中分析类的能力 · 在运行中查看对象 · 实现通用的数组操作代码 · 利用Method对象,很想C++中的函数指针。
Class类
在程序运行期间,java运行时系统始终会为所有的对象维护一个被成为运行时的执行标识。这个信息跟踪着每一个对象所属的类。虚拟机利用运行时类型信息选择相应的方法执行。通过专门的java类可以访问这些信息(这些信息被成为Class)。Object类中的getClass()方法可以返回一个Class类型的实例。
Employ e;......Class cl = e.getClass();
常用的Class方法是getName。这个方法返回类的名字。
System.out.println(e.getClass().getName() + " " + e.getName());
还可以调用静态方法forName来获得类名对应的Class。
String className = "java.util.Date";Class cl = Class.forName(className);
最后,如果T是任意的java类型,那么T.class将表示匹配的类对象。对了,记得加try....catch捕获异常
利用反射分析类的能力(检查类的结构)
在java.lang.reflect包中有三个类Field、Method和Constructor分别用于描述类的域,方法和构造器。这三个类都有一个getName方法,可以返回项目名称.Field类有一个getType方法,返回描述类所属类型的Class对象.三个类都有一个getModifiiers方法,返回一个整型数值,用不同位开关描述public,static等修饰符的使用状况.还可以用java.lang.reflect包中的Modifier类中的isPublic,isPrivate,isFinal判断方法或构造器的修饰符.Class类中的getField、getMethod和getConstructor分别返回类提供的public域,方法和构造器组.
0 0
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- 反射
- logback.xml 常用配置详解
- 小菜鸟初次接触JBoss应用服务器
- Mysql集群的HA原理及配置指南之添加slave(三)
- POS机为什么要签到?
- Jupyter Notebook 快速入门(上)
- 反射
- 处理myeclipse不能正常导出war包(包含了MyEclipse10.6、MyEclipse10.7)
- Funnel-structured cascade for multi-view face detection with alignmentawareness
- Python生成器(generators) 和yield关键字
- 【转】unity3D中point light个数限制更改方法
- 对傅里叶变换的理解
- 161107
- 双系统Ubuntu无法打开Windows下的磁盘
- 设计模式在游戏开发中的应用之命令模式