/*
获取构造方法
*/
import java.lang.reflect.*;
public class Test09
{
public static void main(String[] args) throws Exception{
//1.获取类
Class c = Class.forName("java.lang.String");
//2.获取所有的构造方法
Constructor[] cs = c.getDeclaredConstructors();
/*
for(Constructor con:cs){
//获取修饰符
System.out.println(Modifier.toString(con.getModifiers()));
//获取构造方法名
System.out.println(c.getSimpleName());
//构造方法的形式参数列表
Class[] parameterTypes = con.getParameterTypes();
for(Class parameterType:parameterTypes){
System.out.println(parameterType.getSimpleName());
}
}
*/
//反编译
StringBuffer sb = new StringBuffer();
sb.append(Modifier.toString(c.getModifiers())+" class "+c.getSimpleName()+"{\n");
//构造方法
for(Constructor con:cs){
sb.append("\t");
sb.append(Modifier.toString(con.getModifiers())+" ");
sb.append(c.getSimpleName()+"(");
//形参
Class[] parameterTypes = con.getParameterTypes();
for(int i=0;i<parameterTypes.length;i++){
if(i==parameterTypes.length-1){
sb.append(parameterTypes[i].getSimpleName());
}else{
sb.append(parameterTypes[i].getSimpleName()+",");
}
}
sb.append("){}\n");
}
sb.append("}");
System.out.println(sb);
}
}
反射机制____反编译某个类的所有构造方法
最新推荐文章于 2021-03-05 17:15:15 发布