獲取類的名稱
獲取該類的方法
獲取方法的返回值類型
獲取方法的名稱
獲取方法的參數的類型
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)