package com.wkcto.chapter08.demo01;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
/**
* 反射方法
* Method
*
* getMethod(String name, Class<?>... parameterTypes) 反射指定方法签名的公共方法
* class1.getDeclaredMethods() 返回所有的方法
*
* @author 蛙课网
*
*/
public class Test04 {
public static void main(String[] args) {
//1)创建Class对象
// Class<?> class1 = String.class;
Class<?> class1 = Integer.class;
//2)反射方法
// class1.getMethod(name, parameterTypes)
Method[] declaredMethods = class1.getDeclaredMethods();
//遍历方法数组
for (Method method : declaredMethods) {
//方法修饰符
System.out.print( Modifier.toString(method.getModifiers()) + " ");
//方法的返回值类型
System.out.print( method.getReturnType().getSimpleName() + " ");
//方法名
System.out.print( method.getName());
//方法参数类型列表
System.out.print("(");
Class<?>[] parameterTypes = method.getParameterTypes();
//遍历参数类型数组
for(int i = 0 ; i < parameterTypes.length; i++){
System.out.print( parameterTypes[i].getSimpleName() );
//参数之间使用逗号分隔
if ( i < parameterTypes.length - 1 ) {
System.out.print(",");
}
}
System.out.println(");");
}
}
}