Java反射之經由過程反射獲得一個對象的辦法信息(實例代碼)。本站提示廣大學習愛好者:(Java反射之經由過程反射獲得一個對象的辦法信息(實例代碼))文章只能為提供參考,不一定能成為您想要的結果。以下是Java反射之經由過程反射獲得一個對象的辦法信息(實例代碼)正文
以下代碼為一個對象類
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反射之經由過程反射獲得一個對象的辦法信息(實例代碼)的全體內容了,願望對年夜家有所贊助,多多支撐~