Java面向对象
Java异常
Java数组
Java常用类
Java集合
Java IO流
Java线程
Java反射
Socket编程
Java注解开发
Java GoF设计模式
HashMap
Java内存模型
Java线性表

Java反射方法

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(");");
		}
		
	}

}