Heim Java javaLernprogramm So rufen Sie eine Methode mithilfe von Reflektion in Java auf

So rufen Sie eine Methode mithilfe von Reflektion in Java auf

Dec 23, 2023 am 08:18 AM
java 反射 调用方法

So rufen Sie eine Methode mithilfe von Reflektion in Java auf

So verwenden Sie Reflektion zum Aufrufen von Methoden in Java

Reflektion ist eine wichtige Funktion der Java-Sprache. Sie kann Klasseninformationen dynamisch abrufen und Klassenmitglieder zur Laufzeit betreiben, einschließlich Felder, Methoden, Konstruktoren usw. Durch die Verwendung von Reflektion können wir Mitglieder einer Klasse manipulieren, ohne die spezifische Klasse zur Kompilierungszeit zu kennen, wodurch wir flexibleren und vielseitigeren Code schreiben können. In diesem Artikel wird die Verwendung von Reflektion zum Aufrufen von Methoden in Java vorgestellt und spezifische Codebeispiele gegeben.

1. Rufen Sie das Klassenobjekt der Klasse ab.
Um in Java Reflektion zum Aufrufen einer Methode zu verwenden, müssen Sie zunächst das Klassenobjekt der Klasse abrufen. Sie können das Class-Objekt auf folgende Weise abrufen:

  1. Verwenden Sie das Klassenattribut der Klasse: classname.class
    Um beispielsweise das Class-Objekt der String-Klasse abzurufen, können Sie den folgenden Code verwenden:
    Class stringClass = String.class;
  2. Verwenden Sie die getClass()-Methode des Objekts.
    Um beispielsweise das Class-Objekt eines String-Objekts abzurufen, können Sie den folgenden Code verwenden:
    String str = "Hello";
    Class strClass = str. getClass();
  3. Verwenden Sie die statische Methode der Class-Klasse forName()
    Um beispielsweise das Class-Objekt der String-Klasse abzurufen, können Sie den folgenden Code verwenden:
    Class stringClass = Class.forName("java.lang .String");

2. Rufen Sie die Methode auf
, um die Klasse der Klasse abzurufen. Nachdem das Objekt erstellt wurde, können Sie Reflektion verwenden, um Methoden der Klasse aufzurufen. Zuerst müssen wir das Objekt der Methode abrufen. Sie können das Objekt der Methode auf zwei Arten erhalten:

  1. Verwenden Sie die Methode getMethod() der Class-Klasse, um die angegebene Methode abzurufen.
    Diese Methode erfordert die Übergabe des Namens und des Parametertyps der Methode gibt ein Methodenobjekt zurück. Der folgende Code ruft beispielsweise die Methode length() der Klasse String ab:
    Method lengthMethod = stringClass.getMethod("length");
  2. Verwenden Sie die Methode getMethods() der Klasse Class, um alle öffentlichen Methoden abzurufen
    Diese Methode Gibt eine Liste zurück, die alle öffentlichen Methoden enthält. Methodenarray. Der folgende Code ruft beispielsweise alle öffentlichen Methoden der String-Klasse ab:
    Method[] methoden = stringClass.getMethods();

Nachdem Sie das Objekt der Methode erhalten haben, können Sie die invoke()-Methode der Method-Klasse verwenden um die Methode aufzurufen. Die invoke()-Methode muss das Objekt, zu dem die Methode gehört, und die Parameter der Methode übergeben und den Rückgabewert der Methode zurückgeben. Der folgende Code ruft beispielsweise die Methode length() der Klasse String auf und gibt den Rückgabewert der Methode aus:
String str = "Hallo";
Method lengthMethod = stringClass.getMethod("length");
int length = (int) lengthMethod .invoke(str);
System.out.println(length);

3. Beispielcode
Als nächstes wird ein vollständiger Beispielcode gegeben, um zu zeigen, wie Reflection zum Aufrufen von Methoden in Java verwendet wird:

import java.lang.reflect.Method;

public class ReflectionExample {
    public static void main(String[] args) throws Exception {
        // 获取String类的Class对象
        Class stringClass = String.class;

        // 获取String类的length()方法
        Method lengthMethod = stringClass.getMethod("length");

        // 创建一个字符串对象
        String str = "Hello, Reflection!";

        // 调用length()方法,并输出返回值
        int length = (int) lengthMethod.invoke(str);
        System.out.println("字符串的长度为:" + length);
    }
}
Nach dem Login kopieren

Rufen Sie im obigen Code zuerst das Class-Objekt der String-Klasse ab, rufen Sie dann die length()-Methode der String-Klasse ab und erstellen Sie ein String-Objekt. Abschließend wird die Methode length() aufgerufen und der Rückgabewert ausgegeben, der die Länge des Strings darstellt.

Zusammenfassung
Durch Reflexion können Sie Klasseninformationen dynamisch abrufen und Klassenmitglieder zur Laufzeit bedienen. In diesem Artikel wird die Verwendung von Reflektion zum Aufrufen von Methoden in Java vorgestellt und spezifische Codebeispiele aufgeführt. Ich hoffe, dass die Leser durch die Einleitung dieses Artikels den Einsatz von Reflexion besser verstehen und beherrschen können.

Das obige ist der detaillierte Inhalt vonSo rufen Sie eine Methode mithilfe von Reflektion in Java auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung.

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Leitfaden zum Zufallszahlengenerator in Java. Hier besprechen wir Funktionen in Java anhand von Beispielen und zwei verschiedene Generatoren anhand ihrer Beispiele.

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen.

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung.

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können.

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Zeitstempel für Datum in Java Zeitstempel für Datum in Java Aug 30, 2024 pm 04:28 PM

Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen.

Java -Programm, um das Kapselvolumen zu finden Java -Programm, um das Kapselvolumen zu finden Feb 07, 2025 am 11:37 AM

Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4

See all articles