Einführung
Lassen Sie mich zunächst einige weniger praktische Erklärungen vorstellen: Der Java -Reflexionsmechanismus ist, dass Sie für jede Klasse für jede Klasse alle Eigenschaften und Methoden dieser Klasse kennen. Für jedes Objekt können Sie alle Methoden und Eigenschaften davon aufrufen. Diese Funktion des dynamischen Erhalts von Informationen und der dynamischen Aufruf von Objektmethoden wird als Reflexionsmechanismus der Java -Sprache bezeichnet.
Einfache Verwendung
Reflexion ist eine sehr häufige und benutzerfreundliche Art und Weise in Java (aber Sie müssen wissen, dass seine Effizienz relativ niedrig ist. Sie sollten sie also mit Vorsicht verwenden), kann sie natürlich auch in Android basierend auf der Java-Sprache verwendet werden. Wir können Reflection verwenden, um einige Klassen zu erhalten, die nicht offen, sondern existentiell sind, um einige seiner Methoden aufzurufen. Schreiben wir es kurz unten mit Java Reflection auf, um Klassen zu erhalten, und die Implementierung von Methoden, die es nennen.
// Der Pfad der Klasse, der bezeichnet werden muss, reflektieren String classname = "com.example.test.javareFlect"; Klasse reflektiert = null; try {// Java class reflect = class.forname (className); // das entsprechende Klassenobjekt javareflect = reflect.newinstance () instanziieren; if (null! // Die Legalitätsprüfung des Zugriffs auf private Methoden stringToup.setAccessible (true) abbrechen; // Berechnen Sie die StringToup () -Methode, der erste Parameter repräsentiert die entsprechende Klasse, und der zweite ist der Parameter der Methode String str = (String) stringToup.invoke (JavareFlect, "Java reflektieren test"); System.out.println ("Ergebnis:"+str); }} catch (Ausnahme e) {e.printstacktrace ();} Schauen wir uns an, was ich in StringToup getan habe:
public String StringToup (String Str) {return str.ToUpperCase ();}Tatsächlich ist es nur eine Saite, es in Kapital umzuwandeln und dann zurückzugeben. Ok, schauen wir uns das Ausgabeergebnis an:
01-02 08: 09: 11.959 6150-6150/com.zxf.alpha I/System.out: Ergebnis: Java Reflect Test
Es ist einfach perfekt.
Zusammenfassen
OK, das obige dreht sich alles um diesen Artikel. Reflexion hat viele Anwendungen in Android. Wenn unser Projekt beispielsweise über mehrere Module verfügt, können Sie dies tun, wenn Sie eine Methode des Hauptprogramms im Modul aufrufen möchten, oder dass Sie Reflection verwenden können, um einige system-öffentliche Methoden aufzurufen, aber die Effizienz ist nicht sehr hoch. Ich hoffe, der Inhalt dieses Artikels wird für alle hilfreich sein, um in Java Strahlung zu lernen oder zu verwenden. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen.