欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java反射之通過反射獲取一個對象的方法信息(實例代碼)

 更新時間:2016年10月02日 09:53:45   投稿:jingxian  
下面小編就為大家?guī)硪黄狫ava反射之通過反射獲取一個對象的方法信息(實例代碼)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

以下代碼為一個工具類

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的函數(shù),包括父類繼承而來的
		 * getDeclaredMethods()獲取的是所有該類自己聲明的方法,部位訪問權(quán)限
		 */
		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()+"(");
			//獲取參數(shù)類型--》得到的參數(shù)列表的類型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);
	}
}

截圖如下:

 

以上就是小編為大家?guī)淼腏ava反射之通過反射獲取一個對象的方法信息(實例代碼)的全部內(nèi)容了,希望對大家有所幫助,多多支持腳本之家~

相關(guān)文章

最新評論