通过反射机制获取某个特定的构造方法
* 代码
import java.lang.reflect.Constructor;
import java.lang.reflect.Modifier;
public class ReflectTest17 {
public static void main(String[] args) throws ClassNotFoundException {
//创建class对象
Class c= Class.forName("java.lang.String");//com.shige.Reflect.CustomerService
//获取所有构造方法
Constructor[] constructors=c.getDeclaredConstructors();
//创建字符串缓冲区
StringBuffer stringBuffer=new StringBuffer();
//追加类头
stringBuffer.append(Modifier.toString(c.getModifiers())+" class "+" "+c.getSimpleName()+"{\n");
// 向字符串缓冲区中添加构造方法的各个部分
for (Constructor constructor:constructors) {
//构造方法头部分
stringBuffer.append("\t");
stringBuffer.append(Modifier.toString(constructor.getModifiers())+" "+ c.getSimpleName()+"(");
//形参部分
Class[] parameterTypes=constructor.getParameterTypes();
for (int i = 0; i <parameterTypes.length ; i++) {
if (i != parameterTypes.length-1) {
stringBuffer.append(parameterTypes[i].getSimpleName()+",");
}else{
stringBuffer.append(parameterTypes[i].getSimpleName());
}
}
stringBuffer.append("){}\n");
}
stringBuffer.append("}");
System.out.println(stringBuffer);
}
}