在运行时判断任意一个对象所属的类。
在运行时构造任意一个类的对象。
在运行时判断任意一个类所具有的成员变量和方法。
在运行时调用任意一个对象的方法。
反射机制常用类:
Class 类:代表一个类。
Field 类:代表类的成员变量(成员变量也称为类的属性)。
Method 类:代表类的方法。
Constructor 类:代表类的构造方法。
Array 类:提供了动态创建数组,以及访问数组的元素的静态方法。
// 查询出所有进行中的活动 T7046[] result = getValidActivity(); if (result != null && result.length > 0) { for (T7046 data : result) { String allClassName = className.replace("@", data.F12); try { /*1.根据类名得到Class*/ /*2.根据Class得到它的构造器*/ Constructor<?> constructor = Class.forName(allClassName).getConstructor(ServiceResource.class); /*3.使用类加载的方式创建对象*/ Object activityObject = constructor.newInstance(serviceResource); /*4.获得创建类*/ Class<? extends Object> activityClass = activityObject.getClass(); /*5.动态调用指定方法*/ String temp = (String)activityClass.getMethod("executeActivity", Object[].class).invoke(activityObject, (Object)params); if(!StringHelper.isEmpty(temp)){ message = temp; } } catch (ClassNotFoundException e) { System.out.println("类:"+allClassName+"不存在,活动无法执行!"); continue; } }