Java笔记——利用反射机制获取成员变量及成员方法
2015-01-09 14:19
801 查看
package tmp; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class Test { public static void main(String[] args) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException, NoSuchMethodException, InvocationTargetException{ Student x=new Student(); Class<?> xC=x.getClass(); System.out.println("x类的名字:"+xC.getName()+"; 路径:"+xC.getPackage()+"; 父类:"+xC.getSuperclass()); Field id=xC.getDeclaredField("id"); id.setAccessible(true); id.setInt(x, 100); System.out.println("利用反射机制,改变私有域成员变量值,赋id值为:"+x.get_id()); Method set_id=xC.getDeclaredMethod("set_id",int.class); set_id.invoke(x, 10); System.out.println("利用反射机制,获取成员方法,赋id的值为:"+x.get_id()); } } class Student extends Student0{ private int id; public Student(){ } public int get_id(){ return id; } public void set_id(int id){ this.id=id; } public void set_id(float id){ this.id=(int)id; } } class Student0{ private int id; public Student0(){ } public int get_id(){ return id; } public void set_id(float id){ this.id=(int)id; } }程序运行结果:x类的名字:tmp.Student; 路径:package tmp; 父类:class tmp.Student0利用反射机制,改变私有域成员变量值,赋id值为:100利用反射机制,获取成员方法,赋id的值为:10知识点:1、如何改变类中私有域变量值:
Class<?> xC=x.getClass(); Field id=xC.getDeclaredField("id"); id.setAccessible(true); id.setInt(x, 100);
2、如何利用java反射机制调研类的方法:
<pre name="code" class="java">Class<?> xC=x.getClass();
<pre name="code" class="java">Method set_id=xC.getDeclaredMethod("set_id",int.class);set_id.invoke(x, 10);
相关文章推荐
- java 使用反射机制来获取私有方法和成员变量
- java中的反射机制,以及如何通过反射获取一个类的构造方法 ,成员变量,方法,详细。。
- java反射学习笔记(3)---使用Class来获取方法、成员变量、构造函数信息
- Android(java)学习笔记109:通过反射获取成员变量和成员方法并且使用
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- Java学习提要——"反射"获取方法信息(成员函数、成员变量 、构造函数)
- 反射机制的概述和字节码对象的获取,通过反射获取构造方法并使用;通过反射获取成员变量并使用;通过反射获取私有成员变量并使用;通过反射获取成员方法并使用
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java反射,获取类的方法,成员变量,构造函数信息
- 黑马程序员--Java基础加强--16.利用反射操作泛型V【通过Constructor反射解析泛型构造方法】【通过Field反射解析泛型成员变量】【个人总结】
- Java 通过反射获取类的信息(成员变量,成员方法,构造方法)
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- 【转载】JAVA利用反射机制访问private成员和方法
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- Java利用反射机制遍历成员变量
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值