//import java.lang.reflect.Field;
/** 获取Object对象,所有成员变量属性值 */
public static void getObjAttr(Object obj)
{
// 获取对象obj的所有属性域
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields)
{
// 对于每个属性,获取属性名
String varName = field.getName();
try
{
boolean access = field.isAccessible();
if(!access) field.setAccessible(true);
//从obj中获取field变量
Object o = field.get(obj);
System.out.println("变量: " + varName + " = " + o);
if(!access) field.setAccessible(false);
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
}
//import java.lang.reflect.Field;
//import java.lang.reflect.Method;
/**从字符串调用函数,Main.pointEvent(int arg)
* className = "com.linkstudio.popstar.state.Main" */
public static void _poinrEvent(String className, int arg)
{
try
{
Class classT = Class.forName(className); //获取对应类
Method methodT = classT.getMethod("pointEvent", int.class); //获取classT中的pointEvent(int arg)函数
Object obj = classT.newInstance(); //创建类对象
methodT.invoke(obj, (Object)arg); //调用对象obj的pointEvent方法
}
catch(Exception ex){ System.out.println("调用类对象中的函数异常!");}
}