Also! Ich lerne wirklich etwas Neues im Interview. Ein Unternehmen hat gerade einen Test gemacht, aber ich bin sehr überrascht, warum die Position des Webentwicklers den Java -Reflexionsmechanismus tatsächlich übernommen hat, aber es ist eine gute Sache für mich, den Reflexionsmechanismus zu lernen und zu studieren!
Lassen Sie uns darüber sprechen, was der Java -Reflexionsmechanismus ist. Im laufenden Zustand können Sie für jede Klasse alle Eigenschaften und Methoden dieser Klasse kennen. Für jedes Objekt können Sie jede Methode seiner dynamisch erhaltenen Informationen aufrufen, und die Funktion des dynamischen Aufrufens der Objektmethoden wird als Reflexionsmechanismus der Java -Sprache bezeichnet. Hauptfunktionen: Beurteilen Sie die Klasse, zu der jedes Objekt zur Laufzeit gehört; Erstellen Sie die Objekte einer Klasse zur Laufzeit; Beurteilen Sie die Mitgliedsvariablen und -methoden einer Klasse zur Laufzeit; Rufen Sie die Methoden eines jeden Objekts zur Laufzeit auf; Generieren Sie dynamische Proxy.
Dann hinterlassen Sie ein anderes Beispiel.
package com.beidou.test;import java.lang.reflect.Method;public class Dynamic { public static void main(String[] args) throws Exception{ Class c = Dynamic.class;//Get the object Method[] methods = c.getDeclaredMethods();//Get the method for(Method method: methods){ System.out.print(method.getName());//Print the parameter Name class [] parameterTypes = methode.getParameterTypes (); für (int i = 0; i <parameterTypes.length; i ++) {String namestring = parameterTypes [i] .getName (); System.out.print ("parameterType:"+namestring); // Methode Parametertyp} System.out.print ("returnType:"+method.getReturnType ()); System.out.println (); } Objekt obj = C.NewinStance (); // das Methodenobjekt abrufen, vorausgesetzt, der Parameter der Methode ist eine int, Zeichenfolge, die Methode als Getage -Methode Sage = C.GetMethod ("getage", neue Klasse [] {int.class, string.class}); // Parameter Object Object [] Argumente = new Object [] {New Integer (23), New String ("ABC")}; // Methode ausführen String s = (String) sage.invoke (OBJ, Argumente); System.out.print (s); } public String getage (int älter, Zeichenfolge Name) {Rückgabename+":"+Alter; }}Der obige Java -Reflexionsmechanismus - die einfache Methode, um Objekte dynamisch aufzurufen, ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.