Heim > Java > javaLernprogramm > Was sind die drei Methoden der Java-Reflexion?

Was sind die drei Methoden der Java-Reflexion?

小老鼠
Freigeben: 2024-01-02 16:58:20
Original
659 Leute haben es durchsucht

Drei Methoden der Java-Reflexion: 1. Holen Sie sich das Klassenobjekt. 2. Holen Sie sich den Konstruktor, die Felder und Methoden der Klasse. 3. Rufen Sie Methoden auf und greifen Sie auf Felder zu. Detaillierte Einführung: 1. Klassenobjekt abrufen: Sie können das Klassenobjekt über eine von drei Methoden abrufen: Objekterfassung, Klassennamenerfassung und vollständig qualifizierte Namenserfassung der Klasse, um Informationen über die Klasse zu erhalten die Konstruktormethode der Klasse, Felder und Methoden: Über das Klassenobjekt können Sie den Konstruktor, die Felder und Methoden der Klasse 3 abrufen. Rufen Sie Methoden auf und greifen Sie auf Felder durch Reflektion usw. zu.

Was sind die drei Methoden der Java-Reflexion?

Das Betriebssystem dieses Tutorials: Windows 10-System, Dell G3-Computer.

In Java ist Reflektion ein leistungsstarker Mechanismus, der es ermöglicht, zur Laufzeit Klasseninformationen abzurufen, Klassenmethoden aufzurufen, auf Klassenfelder zuzugreifen usw. Reflection bietet drei Hauptmethoden zum Implementieren dieser Vorgänge:

1. Holen Sie sich das Klassenobjekt: Sie können eine der folgenden drei Methoden verwenden, um das Klassenobjekt abzurufen und Informationen über die Klasse abzurufen.

Durch das Objekt gelangen: Verwenden Sie die Methode getClass() des Objekts.

MyClass obj = new MyClass();
Class<?> myClass = obj.getClass();
Nach dem Login kopieren

Vom Klassennamen erhalten: Verwenden Sie das Klassenattribut des Klassennamens.

Class<?> myClass = MyClass.class;
Nach dem Login kopieren

Erhalten durch den vollständig qualifizierten Namen der Klasse: Verwenden Sie die Methode Class.forName().

Class<?> myClass = Class.forName("com.example.MyClass");
Nach dem Login kopieren

2. Den Konstruktor, die Felder und die Methoden der Klasse abrufen: Über das Klassenobjekt können Sie den Konstruktor, die Felder und die Methoden der Klasse abrufen.

Gten Sie den Konstruktor:

Constructor<?>[] constructors = myClass.getConstructors();
Nach dem Login kopieren

Get das Feld:

Field[] fields = myClass.getDeclaredFields();
Nach dem Login kopieren

Get die Methode:

Method[] methods = myClass.getMethods();
Nach dem Login kopieren

3. kann die Klassenmethoden aufrufen und auf Feldwerte zugreifen.

Aufrufmethoden:

Method myMethod = myClass.getMethod("methodName", parameterTypes);
myMethod.invoke(objectInstance, args);
Nach dem Login kopieren

Zugriff auf Felder:

Field myField = myClass.getDeclaredField("fieldName");
myField.setAccessible(true); // 如果字段是私有的,需要设置为可访问
Object fieldValue = myField.get(objectInstance);
Nach dem Login kopieren

Diese drei Methoden bieten die Flexibilität, Klasseninformationen, Aufrufmethoden und Zugriffsfelder zur Laufzeit abzurufen. Beachten Sie jedoch, dass Reflexionsvorgänge zu Leistungseinbußen führen können und eine Ausnahmebehandlung erfordern, wenn sie verwendet werden.

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

Verwandte Etiketten:
Quelle:php.cn
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