Um es ganz klar auszudrücken: Reflexion bedeutet, dass Sie alle Informationen einer Klasse erhalten können, hauptsächlich einschließlich Methoden und Attribute.
1. Das Abrufen der Methode umfasst das Abrufen des Namens der Methode, des Rückgabetyps der Methode, des Zugriffsmodifikators der Methode und das Ausführen der Methode durch Reflektion.
2. Rufen Sie das Attribut ab, einschließlich Attributname, Typ, Zugriffsmodifikator und Wert des Attributs.
Diese Akquisitionen verfügen über entsprechende API-Operationen.
Der Code lautet wie folgt:
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()); } }
Der obige Inhalt ist der gesamte Inhalt dieses Artikels, in dem erläutert wird, wie man eine Klasse durch Reflektion in Java erhält. Ich hoffe, dass er für alle hilfreich ist zukünftige Studie, und ich hoffe auch, es mit Ihnen zu besprechen. Lassen Sie uns gemeinsam lernen und Fortschritte machen.
Weitere Artikel zum Erhalten einer Klasse durch Reflexion in Java finden Sie auf der chinesischen PHP-Website!