Maison > Java > javaDidacticiel > Comment obtenir une classe par réflexion en Java

Comment obtenir une classe par réflexion en Java

高洛峰
Libérer: 2017-01-24 14:36:05
original
1226 Les gens l'ont consulté

Pour parler franchement, la réflexion signifie que vous pouvez obtenir toutes les informations d'une classe, y compris principalement les méthodes et les attributs.

1. L'obtention de la méthode comprend l'obtention du nom de la méthode, le type de retour de la méthode, le modificateur d'accès de la méthode et l'exécution de la méthode par réflexion.

2. Obtenez l'attribut comprenant le nom de l'attribut, le type, le modificateur d'accès et la valeur de l'attribut.

Ces acquisitions ont des opérations API correspondantes.

Le code est le suivant :

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());
 }
}
Copier après la connexion

Le contenu ci-dessus est l'intégralité du contenu de cet article présentant comment obtenir une classe par réflexion en Java. J'espère que cela sera utile à tout le monde. future étude, et j’espère aussi en discuter avec vous. Apprenons et progressons ensemble.

Pour plus d'articles sur la façon d'obtenir une classe par réflexion en Java, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal