Java 反射机制主要提供了以下功能:
在运行时判断任意一个对象所属的类。
在运行时构造任意一个类的对象。
在运行时判断任意一个类所具有的成员变量和方法。
在运行时调用任意一个对象的方法。
Class类:代表一个类。
Field 类:代表类的成员变量(成员变量也称为类的属性)。
Method类:代表类的方法。
Constructor 类:代表类的构造方法。
Array类:提供了动态创建数组,以及访问数组的元素的静态方法。
下面给你提供一个例子 你看下- public class RefFiled {
- public double x;
- public Double y;
-
- public static void main(String args[]) throws NoSuchFieldException, IllegalAccessException {
- Class c = RefFiled.class;
- Field xf = c.getField("x");
- Field yf = c.getField("y");
-
- RefFiled obj = new RefFiled();
-
- System.out.println("变更前x=" + xf.get(obj));
- //变更成员x值
- xf.set(obj, 1.1);
- System.out.println("变更后x=" + xf.get(obj));
-
- System.out.println("变更前y=" + yf.get(obj));
- //变更成员y值
- yf.set(obj, 2.1);
- System.out.println("变更后y=" + yf.get(obj));
- }
- }
复制代码 |