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反射之經由過程反射獲得一個對象的辦法信息(實例代碼)的全體內容了,願望對年夜家有所贊助,多多支撐~