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.Constructor;
import java.lang.reflect.Modifier;

/**
 * 反射构造方法
 * 	Constructor
 * 		getConstructor(Class<?>... parameterTypes)	指定参数列表的公共构造方法
 * 		class1.getDeclaredConstructors()		返回所有构造方法
 * 		
 * @author 蛙课网
 *
 */
public class Test05 {

	public static void main(String[] args) {
		//1)创建Class对象
		Class<?> class1 = Integer.class;
//		Class<?> class1 = String.class;
		
		//2)反射构造方法
//		class1.getConstructor(parameterTypes)
		Constructor<?>[] declaredConstructors = class1.getDeclaredConstructors();
		for (Constructor<?> constructor : declaredConstructors) {
			//构造方法修饰符
			System.out.print( Modifier.toString(constructor.getModifiers()) + " ");
			//构造方法名
//			System.out.print( constructor.getName() ); 	//构造方法名是完整类名
			System.out.print( class1.getSimpleName() );
			//构造方法参数类型列表
			System.out.print("(");
			Class<?>[] parameterTypes = constructor.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(");");
		}
	}

}