你的位置:首页 > Java教程

[Java教程]反射获取一个类


package poi;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.Modifier;import org.apache.poi.xwpf.usermodel.XWPFSettings;public class ReflectMain {  public static void main(String[] arg) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAccessException, ClassNotFoundException, InstantiationException{    XWPFSettings ct = new XWPFSettings();    Class c = ct.getClass();    System.out.println("---------------------指定类的成员变量-----------------------");    System.out.println("反射获得的类的成员变量个数");    System.out.println(c.getDeclaredFields().length);    for (Field fil : c.getDeclaredFields()) {      System.out.print(fil.getType()+" ");      System.out.println(fil.getName());    }    System.out.println("------------------------类的构造方法-----------------------");    for (Constructor constructor : c.getDeclaredConstructors()) {      System.out.print(Modifier.toString(constructor.getModifiers())+" ");      System.out.println(constructor.getName());    }    System.out.println("--------------------------成员方法--------------------------");    for (Method method : c.getDeclaredMethods()) {      System.out.print(Modifier.toString(method.getModifiers())+" ");      System.out.print(method.getReturnType()+" ");      System.out.println(method.getName());    }    System.out.println("---------------------------类的修饰符------------------------");    int mod = c.getModifiers();    String modifier = Modifier.toString(mod);    System.out.println("modifier = " + modifier);    System.out.println("------------------------指定类的完全限定名--------------------");    System.out.println(c.getName());    System.out.println("------------------------指定类的父类限定名--------------------");    System.out.println(c.getSuperclass().getName());  }}