1. Funktionsbeschreibung
(1) Durch Reflektion kann Programmcode auf interne Informationen zugreifen, die in die JVM geladen sind.
(2) Rufen Sie die Mitgliedsvariableninformationen der geladenen Klasse ab.
(3) Ermitteln Sie die Methode zum Laden der Klasse.
(4) Rufen Sie die Strukturmethodeninformationen der Ladeklasse ab.
2. Beispiel
Bestimmen Sie während des laufenden Prozesses die Mitgliedsvariablen und Methoden einer Klasse.
Class ownerClass = owner.getClass():得到该对象的Class。 Field field = ownerClass.getField(fieldName):通过Class得到类声明的属性。 Object property = field.get(owner): 通过对象得到该属性的实例,如果这个属性是非公有的,这里会报IllegalAccessException。 在运行时调用一个对象的方法: Method method = ownerClass.getMethod(methodName, argsClass): 通过Method名和参数的Class数组得到要执行的Method。 method.invoke(owner, args):执行该Method,invoke方法的参数是执行这个方法的对象,和参数数组。 返回值是Object,也既是该方法的返回值。
Das obige ist der detaillierte Inhalt vonWelche Rolle spielt der Reflexionsmechanismus von Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!