Der Java-Reflexionsmechanismus besteht darin, dass im laufenden Zustand für jede Klasse alle Eigenschaften und Methoden dieser Klasse abgerufen werden können und für jedes Objekt alle ihre Eigenschaften und Methoden aufgerufen werden können. Diese Funktion zum dynamischen Abrufen von Informationen und zum dynamischen Aufrufen von Objektmethoden zur Laufzeit wird als Java-Reflexionsmechanismus bezeichnet.
Die Klassenklasse unterstützt das Reflexionskonzept zusammen mit der Klassenbibliothek java.lang.reflect, die die Klassen Field, Method und Constructor enthält (jede Klasse implementiert die Member-Schnittstelle). Objekte dieser Typen werden von der JVM zur Laufzeit erstellt, um entsprechende Mitglieder unbekannter Klassen darzustellen. Auf diese Weise können Sie mit dem Konstruktor neue Objekte erstellen, mit den Methoden get() und set() die mit dem Field-Objekt verknüpften Felder lesen und ändern und mit der invoke()-Methode mit dem Method-Objekt verknüpfte Methoden aufrufen.
Darüber hinaus können Sie auch praktische Methoden wie getFields(), getMethods() und getConstructors() aufrufen, um ein Array von Objekten zurückzugeben, die Felder, Methoden und Konstruktoren darstellen. Auf diese Weise können die Informationen des anonymen Objekts zur Laufzeit vollständig ermittelt werden, und es besteht keine Notwendigkeit, zur Kompilierungszeit etwas zu wissen.
package com.microSpringboot.ReadingList.reflect; import java.lang.reflect.Constructor; public class ReflectTest { public static void main(String[] args) throws Exception { Class clazz = null; clazz = Class.forName("com.microSpringboot.ReadingList.reflect.Fruit"); Constructor<Fruit> constructor1 = clazz.getConstructor(); Constructor<Fruit> constructor2 = clazz.getConstructor(String.class); Fruit fruit1 = constructor1.newInstance(); Fruit fruit2 = constructor2.newInstance("Apple"); } } class Fruit { public Fruit() { System.out.println("无参构造器 Run..........."); } public Fruit(String type) { System.out.println("有参构造器 Run..........." + type); } }
运行结果: 无参构造器 Run……….. 有参构造器 Run………..Apple
Das obige ist der detaillierte Inhalt vonWas ist der Reflexionsmechanismus von Java und wie erhält man ihn?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!