Method對象表示一個類方法,保存着方法的相關信息,可以動態的進行方法調用。
1. Class<?> getDeclaringClass() : 獲取方法定義所在的類;
2. String getName() : 獲取方法名稱,不包括所在的類名稱;
3. Type getGenericReturnType() :
4. Class<?> getReturnType() : 獲取返回值類型;
5. Type[] getGenerciParameterTypes() :
6. Class<?>[] getParameterTypes() : 獲取參數類型列表,按從左到右的循序給出;
7. Class<?>[] getExceptionTypes() : 獲取方法拋出異常的列表;
8. Type[] getGenericExceptionTypes() :獲取方法拋出異常的列表;
9. Object invoke(Object obj , Object... args) : 這個方法是一個比較重要的方法,用於動態調用,也可以用在動態代理實現。使用的方法及參數的介紹:method.invoke(obj,args)
首先,Method肯定是要指向某一個定義類型的成員方法,所以第一個參數obj就是Method對象所在的普通類的實例;
其次,後面的args當然就是這個方法的參數列表了,注意參數的對應問題。
第三,就是這個調用的等價調用是obj.methodName(args)。