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.
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();
Vom Klassennamen erhalten: Verwenden Sie das Klassenattribut des Klassennamens.
Class<?> myClass = MyClass.class;
Erhalten durch den vollständig qualifizierten Namen der Klasse: Verwenden Sie die Methode Class.forName().
Class<?> myClass = Class.forName("com.example.MyClass");
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();
Get das Feld:
Field[] fields = myClass.getDeclaredFields();
Get die Methode:
Method[] methods = myClass.getMethods();
3. kann die Klassenmethoden aufrufen und auf Feldwerte zugreifen.
Aufrufmethoden:
Method myMethod = myClass.getMethod("methodName", parameterTypes); myMethod.invoke(objectInstance, args);
Zugriff auf Felder:
Field myField = myClass.getDeclaredField("fieldName"); myField.setAccessible(true); // 如果字段是私有的,需要设置为可访问 Object fieldValue = myField.get(objectInstance);
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!