反射获取一个类

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();
     //Class c = XWPFSettings.class;
     //Class c =  Class.forName("XWPFSettings"); 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()); } }
原文地址:https://www.cnblogs.com/xiufengd/p/4723426.html