内容摘要:JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法;生成动态代理。
1.得到某个对象的属性
1publicObjectgetProperty(Objectowner,StringfieldName)throwsException{
2 ClassownerClass=owner.getClass();
3
4 Fieldfield=ownerClass.getField(fieldName);
5
6 Objectproperty=field.get(owner);
7
8 returnproperty;
9}
ClassownerClass=owner.getClass():得到该对象的Class。
Fieldfield=ownerClass.getField(fieldName):通过Class得到类声明的属性。
Objectproperty=field.get(owner):通过对象得到该属性的实例,如果这个属性是非公有的,这里会报IllegalAccessException。
2.得到某个类的静态属性
1publicObjectgetStaticProperty(StringclassName,StringfieldName)
2 throwsException{
3 ClassownerClass=Class.forName(className);
4
5 Fieldfield=ownerClass.getField(fieldName);
6
7 Objectproperty=field.get(ownerClass);
8
9 returnproperty;
10}
ClassownerClass=Class.forName(className):首先得到这个类的Class。
Fieldfield=ownerClass.getField(fieldName):和上面一样,通过Class得到类声明的属性。
责编:豆豆技术应用
- Photoshop制作梦幻水晶球
- Windows Vista五个没有兑现的承诺
- 惊艳!Ubuntu 7.10系统新功能评测
- PhotoShop文字特效 Photoshop动感光影字重现黑客帝国
- 鼠绘:用Photoshop打造阿尔卡特手机
- JAVA中的反射机制详解
- J2EE:web开发中的缓存问题的研究(一)
- web开发中的缓存问题的研究(二)
- JDK 1.5中实现面向对象形式的SQL语句
- JSP中的pageEncoding和contentType属性