Class c=Class.forName("AbstractClassTest.Car"); //要包名+类名 Object o=c.newInstance(); Car car=(Car)o; Field[] fields=c.getDeclaredFields();//拿到数据成员 Method[] methods=c.getMethods();//拿到函数成员 /*System.out.println(fields.length); System.out.println(methods.length);*/ for(Field f : fields){ System.out.println("该类的内部变量有:"+f.getName()); } for(Method m : methods) { System.out.println("该类的方法有:"+m.getName()); }
import java.lang.reflect.*; public class Test{ public static void main(String args[]) throws Exception{ Class c=Class.forName("TaskProvidePropsList"); Object obj=c.newInstance(); //set Method msetid=c.getMethod("setProvide_id",Integer.TYPE); msetid.invoke(obj,new Integer(100)); Method msetsign=c.getMethod("setProps_sign",Integer.TYPE); msetsign.invoke(obj,new Integer(100)); //get Method mgetsign=c.getMethod("getProps_sign"); Integer sign=(Integer)mgetsign.invoke(obj); Method mgetid=c.getMethod("getProvide_id"); Integer id=(Integer)mgetid.invoke(obj); //打印 System.out.println("Props_sign:"+sign.intValue()); System.out.println("Provide_id:"+id.intValue()); } }