Heim  >  Artikel  >  Java  >  Was ist Java-Reflexion?

Was ist Java-Reflexion?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-11-12 09:55:293106Durchsuche

Was ist Reflexion?

Was ist Java-Reflexion?Da die Reflexion eine „Umkehrung“ hat, bedeutet dies, dass es sich um einen umgekehrten Prozess handelt. Schauen wir uns also zunächst an, wie der Vorwärtsprozess aussieht. Entwerfen Sie eine Klasse, instanziieren Sie die Klasse in ein Objekt und das Objekt ruft Methoden oder Eigenschaften auf, um einige Funktionen zu implementieren.
Was ist Reflexion?

Ich weiß nicht, ob Sie sich noch an das Bild oben erinnern. Dies ist das Wissen, das ich gelernt habe, als ich zum ersten Mal mit Java in Kontakt kam. Mein eigenes Verständnis ist, dass ich jetzt 1 kenne, auf 2 schließe und dann über 2 weitere Informationen erhalte. (Dies ist nur meine Spekulation. Ob es wahr ist oder nicht, wir müssen uns in Zukunft damit befassen)

Die Analogie zum realen Szenario ist:

你:妈妈,你知道剪刀在哪吗?
妈妈:我那天放针线的时候好像在针线盒里看到了,你去找找有没有。针线盒在客厅的茶几上。
你:好的。

Dann Sie haben „Nähkasten“ von „Nähen“ abgeleitet und dann „Schere“ von „Nähkasten“ gefunden.

Was ist Java-Reflexion?

Unsere Überlegung besteht darin, die Klassenklasse von der Klasse oder dem Objekt abzuleiten und dann die Klasseninformationen von der Klassenklasse abzurufen.

Noch verwirrter? Machen Sie sich keine Sorgen, schauen Sie bitte nach unten.

Was ist Java-Reflexion?

Finden Sie das Nähkästchen – holen Sie sich die Class-Klasse

Was ist zunächst die Class-Klasse?

Was ist Java-Reflexion?

Die Class-Klasse ist die Klasse der People-Klasse, genau wie die People-Klasse die Klasse von p ist. Die Class-Klasse ist der „Großvater“ von p.

Wir können es so verstehen: Das Instanzobjekt von java.lang.Class ist People, und das Instanzobjekt von People ist p. Unsere Idee besteht darin, die Class-Klasse über die People-Klasse oder das p-Objekt abzurufen und dann die People-Klasseninformationen wie Attribute, Methoden, Konstruktoren usw. über die Class-Klasse abzurufen. Da wir nun wissen, was die Class-Klasse ist, sprechen wir darüber, wie wir sie erhalten. Es gibt drei Möglichkeiten, die Class-Klasse zu finden:

Es ist erwähnenswert, dass c1, c2 und c3 als „Klassentypen“ von bezeichnet werden die People-Klasse. Okay, jetzt fassen wir die bekannten Bedingungen zusammen:

Personen: Klasse

Was ist Java-Reflexion?p: Objekt

c: Klassentyp

Suchen die Schere – Holen Sie sich die Informationen der People-Klasse

Was ist Java-Reflexion?

Anwendung 1: Holen Sie sich alle Methoden der Klasse

Bei der Methode zum Abrufen der People-Klasse ist ms ein Array, das die People-Klassenmethode speichert. Durch eine Schleife werden Name, Parametertyp und Rückgabewert Schicht für Schicht abgerufen. Zum Schluss rufen Sie es einfach direkt in der Hauptfunktion auf

Ein Teil der erhaltenen Ergebnisse lautet wie folgt:

Was ist Java-Reflexion?Anwendung 2: Alle Attribute der Klasse abrufen

Was ist Java-Reflexion?

Die aufrufende Methode ähnelt der aufrufenden Methode :

Was ist Java-Reflexion?

Ergebnis ausführen:

Anwendung 3: Holen Sie sich den Konstruktor der KlasseWas ist Java-Reflexion?

Der Konstruktor ist ähnlich, nein schon wieder.

Was ist Java-Reflexion?

Anwendung 4: Erhalten Sie eine bestimmte Methode der Klasse

Was ist Java-Reflexion?

Die Ergebnisse der beiden Aufrufmethoden sind die gleichen:

Was ist Java-Reflexion?

Für genauere Informationen , Sie finden es in der API-Dokumentation: http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

Was ist Java-Reflexion?

Das Konzept der Reflexion

Am Ende des Artikels fassen wir das Konzept der Reflexion zusammen und lassen unsere Gedanken erhaben werden.

Was ist die Definition von Reflexion?

Der JAVA-Reflexionsmechanismus befindet sich im laufenden Zustand. Sie können alle Eigenschaften und Methoden dieser Klasse kennen und jede ihrer Methoden aufrufen Das dynamische Abrufen und Aufrufen von Objektmethoden wird als Reflexionsmechanismus der Java-Sprache bezeichnet.

Ist Reflexion notwendig?

„Der Reflexionsmechanismus ist der Eckpfeiler vieler Java-Frameworks.“

(1) Schreiben Sie die Konfiguration in die XML-Datei oder in die Eigenschaften, analysieren Sie dann den Inhalt in der XML oder die Eigenschaften in der Java-Klasse, um eine Zeichenfolge zu erhalten, und verwenden Sie dann den Reflexionsmechanismus, um eine bestimmte Zeichenfolge basierend darauf zu erhalten Diese Zeichenfolge ist eine Klasseninstanz, sodass Sie nicht jedes Mal etwas Neues hinzufügen oder andere Dinge im Code tun müssen. Wenn Sie sie in Zukunft ändern möchten, können Sie die Konfiguration direkt ändern Datei, was die Codepflege sehr komfortabel macht.

(2) Um bestimmte Anforderungen zu erfüllen, ist es manchmal nicht möglich, andere Methoden in einer Java-Klasse direkt aufzurufen. Dies kann auch durch den Reflexionsmechanismus erreicht werden.

Nachteile der Reflexion?

Wir können im Code auch sehen, dass der reflektierte Code mehr Code als der normale Aufrufcode ist und die Leistung langsamer ist, sodass die Verwendung von Reflektion vermieden werden sollte. Dies ist gleichbedeutend damit, dass Sie, wenn Sie bereits wissen, wo sich die Schere befindet, nicht durch den Nadel- und Faden-Nähkasten-Scheren-Pfad gehen müssen.

Was sind die Kriterien für den Einsatz von Reflexion?

Wenn eine Funktion ohne Reflexion abgeschlossen werden kann, ist es am besten, sie nicht zu verwenden.

php Chinesische Website, eine große Anzahl kostenloser Java-Einführungs-Tutorials, willkommen zum Online-Lernen!

Das obige ist der detaillierte Inhalt vonWas ist Java-Reflexion?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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