獲取類的名稱
獲取該類的方法
獲取方法的返回值類型
獲取方法的名稱
獲取方法的參數的類型
package com.tsh.reflect; import java.lang.reflect.Method; public class ReflectDemo { public static void main(String[] args) { //int的類類型 Class c1=int.class; //String的類類型,String的字節碼 Class c2=String.class; Class c3=double.class; Class c4=void.class; System.out.println(c1.getName());//輸出 int System.out.println(c2.getName());//輸出 java.lang.String ReflectDemo reflectDemo=new ReflectDemo(); printClass(reflectDemo); } /** * 打印類的信息 * @param obj */ public static void printClass(Object obj){ Class c=obj.getClass(); System.out.println("類的名稱:"+c.getName()); //獲取該類的方法獲取該類的public的方法 Method[] methods=c.getMethods(); for(Method method: methods){ //獲取返回值類型 Class returnTypeClass=method.getReturnType(); String returnType=returnTypeClass.getSimpleName(); //獲取方法的名稱 String methodName=method.getName(); //獲取參數的類型 Class[] paramClass=method.getParameterTypes(); String params=new String(); int i=0; for(Class param:paramClass){ if(i!=0){ params+=","+param.getSimpleName(); }else{ params+=param.getSimpleName(); } i++; } System.out.println(returnType+" "+methodName+"("+params+")"); } } }
返回結果
類的名稱:com.tsh.reflect.ReflectDemo void main(String[]) void printClass(Object) void wait(long,int) void wait(long) void wait() boolean equals(Object)