Internet_worm
Internet_worm的博客

导航

 

下一篇是java内省

java反射机制就是把java类按结构进行分解,每一部分对应特定的反射类

java反射机制允许运行时加载、探知和使用一个运行时才得知名称的class,获悉其完整结构信息

Class类的方法:

Class  forName(String className)//通过全类名加载该类

Package  getPackage()获得此类的包对象

int getModifiers()获得此类的修饰符

String getName()获得此类的名字

Object  newInstance()使用无参构造函数创建对象

boolean isArray()判断此类是否是数组

boolean  isInstance()判断此类是否是接口

boolean  isEnum()判断此类是否是枚举类型

Constructor类的方法:

Constructor  getConstructor(Class...parameterType)按照制定的参数获得对应的构造方法,包括父类中符合要求的构造方法

COnstructor[]getConstructors()//获得所有的public构造方法,包括父类的

Constructor getDeclaredConstructor(class...parameterType)//按照参数获得对应的自己声明的构造函数

COnstructor[] getDeclaredConstructors//获得所有的自己声明的构造函数

Object newInstance(Object...initargs)//创建一个对应类的对象

Class  getParameterTypes()获得所有参数类型

String getName()获得此构造函数的名称

int getModifiers()获得此构造函数的修饰符

Class[]getExceptionTypes()获得此构造函数声明抛出的异常类

Object getAnnotation(Class annotationClass)获得注释对象

 

 

Field类的方法:

Field  getField(String name)获得指定的public字段

Field []getFields()获得所有public类型的字段包括父类的

Field getDeclaredField(String name)获得指定的自己声明的字段

Field[] getDeclaredFields()获得所有自己声明的字段,包括private

 Class getType()获得字段的类型

Class getDeclaringClass()获得声明此字段的类的类型

String getName()获得此字段的名字

int getModifiers()获得此阻断的修饰符

Object get(Object obj)获得此字段在制定对象中的值

boolean getBoolean(Object obj)获得此字段在制定对象中的boolean值

byte getByte(Object obj)获得此字段在制定对象中的byte值

void set(Object obj,Object value)设置字段在制定对象中的值

void setBoolean(Object obj,boolean z)设置此字段在制定ing对象中的布尔值

 

Method:

Method getMethod(String name,Class...parameterTypes)按照给定的参数获得对应的public方法

Method []getMethods()获得所有的public方法,包括父类

Method getDeclaredMethod(String name,Class...parameterTypes)按照给定的参数获得对应的自己声明方法

Method getDeclaredMethod()获得所有自己声明的方法

 Class getDeclaringClass()获得声明此方法的Class对象

Class []getExceptionTypes()获得此方法声明抛出的异常类型

int getModifiers()获得此方法的修饰符

String getName()获得此方法的名称

Class[]getParameterTypes()获得此方法的参数类型

Class getReturnType()获得此方法的返回值类型

Object invoke(Object obj,Object...args)使用指定对象调用此方法

 

public class Man {
//获取类对应的Class对象的三种方法
public static void main(String[] args) throws ClassNotFoundException {

Class class1=Man.class;

Man man=new Man();
Class class2=man.getClass();
System.out.println(class2);

System.out.println(class1.forName("reflect.Man"));


}

}

posted on 2015-07-28 11:05  Internet_worm  阅读(64)  评论(0)    收藏  举报