以下代碼為一個工具類
package com.imooc.reflect;import java.lang.reflect.Method;public class ClassUtil {public static void printClassMessage(Object obj){//要獲取類的信息,首先要獲取類的類類型Class c = obj.getClass();//傳遞的是哪個子類的對象,c就是該子類的類類型//獲取類的名稱System.out.println("類的名稱為:"+c.getName());/* * Method類,方法對象* 一個成員方法就是一個Method對象* getMethods()方法獲取的是所有的public的函數,包括父類繼承而來的* getDeclaredMethods()獲取的是所有該類自己聲明的方法,部位訪問權限*/Method[] methods = c.getMethods();//for(int i=0;i<methods.length;i++){//得到方法的返回值類型的類類型Class returnType = methods[i].getReturnType();System.out.print(returnType.getName()+" ");//得到方法的名稱System.out.print(methods[i].getName()+"(");//獲取參數類型--》得到的參數列表的類型de類類型Class[] paramType = methods[i].getParameterTypes();for(Class class1:paramType){System.out.print(class1.getName()+",");}System.out.println(")");}}}//output://類的名稱為:java.lang.String//boolean equals(java.lang.Object,)//java.lang.String toString()//int hashCode()//.......以下代碼為測試類:
package com.imooc.reflect;public class TestClassUtil {public static void main(String[] args) {String string = "hello";ClassUtil.printClassMessage(string);Integer n1 = 1;ClassUtil.printClassMessage(n1);}}截圖如下:
以上就是小編為大家帶來的Java反射之通過反射獲取一個對象的方法信息(實例代碼)的全部內容了,希望對大家有所幫助,多多支持武林網~