Heim > Java > javaLernprogramm > Was ist der Reflexionsmechanismus von Java und wie erhält man ihn?

Was ist der Reflexionsmechanismus von Java und wie erhält man ihn?

王林
Freigeben: 2023-05-10 19:07:04
nach vorne
1685 Leute haben es durchsucht

Java-Reflexionsmechanismus

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);
    }
}
Nach dem Login kopieren
rrreeDrei Möglichkeiten, Reflexion in Java zu erhalten

1. Implementieren Sie den Reflexionsmechanismus über den Pfad

3. Implementieren Sie den Reflexionsmechanismus über den Klassennamen

运行结果: 无参构造器 Run……….. 有参构造器 Run………..Apple
Nach dem Login kopieren
rrree

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!

Verwandte Etiketten:
Quelle:yisu.com
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