Heim > Java > javaLernprogramm > Hauptteil

Sehr einfaches JAVA-Reflexions-Tutorial

黄舟
Freigeben: 2017-02-07 10:35:49
Original
1469 Leute haben es durchsucht

Reflection kann Klassen dynamisch laden, Objekte instanziieren und Methoden aufrufen. Nehmen wir nun zur Erläuterung das folgende Beispiel.

1. Laden Sie die Klasse.

Class clazz = Class.forName("java.lang.String"); //Dieser Code ruft ein Klassenobjekt der String-Klasse ab. Der Parameter gibt den Paketnamen ein.

Wenn Sie URLClassLoader verwenden, können Sie das lokale oder Remote-JAR-Paket laden und das spezifische Klassenobjekt über die Loadclass-Methode abrufen.

2. Objekte instanziieren.

Wenn das Objekt über den Standardkonstruktor instanziiert wird, können wir die folgende Methode des Klassenobjekts verwenden, um ein Objekt abzurufen, z. B.

clazz..newInstance();

Wenn Sie ein Objekt mithilfe des parametrisierten Konstruktors instanziieren möchten, können Sie den folgenden Code verwenden:

Constructor myConstructor = myClass.getConstructor(parameterTypes);//Ein Konstruktorobjekt abrufen.

Wobei parameterTypes Class... ist, sind ParameterTypes wie String.class, int.class usw. Rufen Sie dann das instanziierte Objekt über das Konstruktorobjekt ab:

myConstructor.newInstance("xxx",123); geben Sie die spezifischen Konstruktionsparameter im Konstruktor ein.

Drei, rufen Sie die Methode auf.

Methode mezod = clazz.getMethod(methodName, parameterTypes); Sie können das Objekt der Methodenklasse abrufen und dann können wir die Methode über die Aufrufmethode von mezod ausführen.

mezod.invoke(obj,"xxx",123);//Der erste Parameter ist das initiierende Objekt dieser Methode. Wenn null ausgefüllt ist, bedeutet dies, dass die statische Methode aufgerufen wird.

Der Artikel wurde von CSDN.NET reproduziert. Bitte kontaktieren Sie uns, um ihn zu löschen.

Das Obige ist der Inhalt eines sehr einfachen JAVA-Reflexions-Tutorials Verwandte Inhalte, achten Sie bitte auf die chinesische PHP-Website (www. php.cn)!


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage