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个就可以了。
如: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个就可以了。
阅读全文
0 0
- Java 之反射机制
- java之反射机制
- java之反射机制
- java之反射机制
- Java之:反射机制
- Java之反射机制
- Java之反射机制
- java之反射机制
- Java之反射机制
- java之反射机制
- Java之反射机制
- Java之反射机制
- java之反射机制
- java之反射机制
- Java反射机制之数组的反射
- java学习之反射机制
- Java学习之-----反射机制
- Java之reflect 反射机制
- MongoDB 分组统计,固定集合(五)
- java之读取配置文件的几种方法
- c++强制类型转换:dynamic_cast、const_cast 、static_cast、reinterpret_cast
- tablayout +viewpager
- LruCache的使用--pizifusheng
- java之反射机制
- Neutron 模块基本概念(2)
- [dialog system]阅读笔记
- struts2环境配置与应用
- 商品详情页面demo
- okHttp拦截器放在doGet和doPost请求中
- java之工厂方法模式
- duilib的xml预览工具duilibpreview
- 内核支持线程和用户级线程