java之反射机制

来源:互联网 发布:网络技术培训机构 编辑:程序博客网 时间:2024/05/22 07:49
1 java反射机制,就是通过给定任意的一个类名和任意的该类中的一个方法名,都可以成功的调用该方法,并可以返回结果值。就是类名是参数。方法名是参数。然后通过反射机制就可以成功的调用该方法。
如:Class class_name=Class.forName("com.person.Person");--任意的类名
Object obj=class_name.newInstance();--得到类对象的object对象。
String methodName="getMethod";--任意的方法名
Class[] class_array=new Class[1];---方法中的参数类型
class_array[0]=String.class;
Object[] class_args=new Object[1];--方法中的参数值
class_args[0]="aaabbccc";

Method method=class_name.getMethod(methodName,class_array);--通过class来得到method对象。
String value=(String)method.invoke(obj,class_args);--通过method对象来调动invoke方法。实现反射机制。可以成功的调用给定的方法名。
System.out.println(value);--输出返回结果值。


2 通过Class.forName("类名")可以得到Class对象。
如:Class class_name=Class.forName("com.person.Person");


3 通过newInstance()可以得到Object对象。
如:Object obj=class_name.newInstance();


4 通过Class[]可以定义类型数组。类型.class可以得到该类的类型。
如:Class[] class_array=new Class[1];
class_array[0]=String.class;


5 通过Object[]可以得到任意的数组。
如:Object[] class_args=new Object[1];
class_args[0]="aaabbccc";


6 通过Class对象的getMethod(方法名,方法的参数类型数组)可以得到method方法。
如:Method method=class_name.getMethod(methodName,class_array);


7 通过method的invoke(类的object对象,方法参数值数组)可以成功的调用该方法,并可以返回结果值。
如:String value=(String)method.invoke(obj,class_args);


以上就是反射机制的简单步骤。可以理解为:
1:类名的class对象,
2:类名的Object对象,
3:方法名,
4:方法名参数类型数组,
5:方法名参数值数组。
共计5个就可以了。
原创粉丝点击