java 反射机制的使用
2014-09-20 16:18
295 查看
package com.example.javareflect; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import android.app.Activity; import android.os.Bundle; /** * java 反射机制的使用 * http://blog.csdn.net/lfdfhl/article/details/13509839 * @author andy * */ public class MainActivity extends Activity { private Field mStudendField; private Object mStudentObject; private Class mStudentClass; private Method mStudentShowMethod; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { try { String workerclassname = "com.example.javareflect.Worker"; Class workerClass = Class.forName(workerclassname); //得到Worker类中的mStudent字段 mStudendField = workerClass.getDeclaredField("mStudent"); mStudendField.setAccessible(true); //实例化mStudent对象 mStudentObject = mStudendField.get(new Worker()); //得到mStudent对应类的class mStudentClass = Class.forName(mStudentObject.getClass().getName()); //反射出该class类中的show()方法 mStudentShowMethod = mStudentClass.getDeclaredMethod("show"); //取消访问私有方法的合法性检查 mStudentShowMethod.setAccessible(true); //调用show()方法 mStudentShowMethod.invoke(mStudentObject); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchFieldException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (NoSuchMethodException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (InvocationTargetException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
相关文章推荐
- Java动态代理类(包括客户端服务端使用反射机制来代理的)
- Java使用反射机制使用get set 方法
- JAVA-反射机制的使用
- [java]反射机制给属性使用set方法构造对象
- 使用 Cobertura 和反射机制提高 Java 单元测试中的代码覆盖率
- Android 在Java代码中设置style属性--使用代码创建ProgressBar对象(反射机制)
- 利用java的反射以及在java web反射机制的使用优化程序
- (转)JAVA-反射机制的使用
- [Java 15 反射机制 ] 动态代理的现场版使用
- 如何使用Java的反射机制以及调用构造方法?
- java 的 反射机制的使用列子
- 使用 Cobertura 和反射机制提高 Java 单元测试中的代码覆盖率
- Java使用反射机制优化工厂方法
- 如何正确使用Java中的反射机制
- 使用JAVA的反射机制反射带有数组参数的私有方法
- java 使用反射机制来获取私有方法和成员变量
- 使用Java反射(Reflection)机制获取对象
- java invoke 反射机制的使用
- JAVA_SE使用反射机制new实例简例
- Android中使用JAVA的反射机制控制数据连接