1、作用說明
(1)透過反射,程式碼可以存取裝載在JVM中的內部資訊。
(2)取得裝載類別的成員變數資訊。
(3)取得裝載類別的方法。
(4)取得裝載類別的結構方法資訊。
2、實例
在運行過程中,判斷一個類別的成員變數和方法。
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,也既是该方法的返回值。
以上是java的反射機制有什麼作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!