package com.wkcto.chapter08.demo01;
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
/**
* 反射構(gòu)造方法
* Constructor
* getConstructor(Class<?>... parameterTypes) 指定參數(shù)列表的公共構(gòu)造方法
* class1.getDeclaredConstructors() 返回所有構(gòu)造方法
*
* @author 蛙課網(wǎng)
*
*/
public class Test05 {
public static void main(String[] args) {
//1)創(chuàng)建Class對(duì)象
Class<?> class1 = Integer.class;
// Class<?> class1 = String.class;
//2)反射構(gòu)造方法
// class1.getConstructor(parameterTypes)
Constructor<?>[] declaredConstructors = class1.getDeclaredConstructors();
for (Constructor<?> constructor : declaredConstructors) {
//構(gòu)造方法修飾符
System.out.print( Modifier.toString(constructor.getModifiers()) + " ");
//構(gòu)造方法名
// System.out.print( constructor.getName() ); //構(gòu)造方法名是完整類名
System.out.print( class1.getSimpleName() );
//構(gòu)造方法參數(shù)類型列表
System.out.print("(");
Class<?>[] parameterTypes = constructor.getParameterTypes();
for(int i = 0 ; i<parameterTypes.length ; i++){
System.out.print( parameterTypes[i].getSimpleName());
//使用逗號(hào)分隔
if (i < parameterTypes.length - 1) {
System.out.print(",");
}
}
System.out.println(");");
}
}
}