import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
public class GetMethods {
public static void main(String[] args) throws ClassNotFoundException {
Class<?> cls = Class.forName("java.lang.String");
StringBuilder s = new StringBuilder();
s.append(Modifier.toString(cls.getModifiers())).append(" class ");
s.append(cls.getSimpleName()).append(" {").append("\n");
Field[] fields = cls.getDeclaredFields();
for (Field f : fields) {
s.append("\t");
s.append(Modifier.toString(f.getModifiers())).append(" ");
s.append(f.getName());
s.append(";\n");
s.append("\n");
}
Method[] mds = cls.getDeclaredMethods();
for (Method m : mds) {
s.append("\t");
s.append(Modifier.toString(m.getModifiers()));
if (m.getModifiers() != 0) {
s.append(" ");
}
s.append(m.getReturnType().getSimpleName()).append(" ");
s.append(m.getName()).append(" ");
s.append("(");
int i = 0;
for (var t : m.getParameters()) {
i++;
s.append(t.getType().getSimpleName()).append(" ");
if (m.getParameters().length != i) {
s.append(t.getName()).append(",").append(" ");
} else {
s.append(t.getName());
}
}
s.append(")");
s.append(" {\n");
s.append("\t}\n");
s.append("\n");
}
s.append("}");
System.out.println(s);
}
}
使用反射反编译部分代码
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 本文目的 使用反射在SpringBoot中对多个校验接口进行统一操作 反射 Java反射机制[https://ww...
- 前言 最近和朋友聊天,他接了个外包项目,他问我有没有办法让自己的源码不被反编译破解,我就跟他说可以对代码进行混淆和...