一、利用反射机制进行反编译
1.1 属性
package com.company.reflect;
import org.junit.Test;
import java.io.File;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class ReflectTest05 {
@Test
public void test01() {
try {
Class c = Class.forName("com.company.reflect.Student");
String className = c.getName();
System.out.println("完整类名:" + className);
String simpleName = c.getSimpleName();
System.out.println("简类名:" + simpleName);
System.out.println("=================================================");
Field[] fields = c.getFields();
for (Field f : fields) {
System.out.println("属性名:"+f.getName()+"的类型是==》"+f.getType());
}
System.out.println("=================================================");
Field[] fields1 = c.getDeclaredFields();
for (Field f : fields1) {
System.out.println("属性名:"+f.getName()+" 的类型是 ==》 "+f.getType().getSimpleName()+" 修饰符是 ==》 "+ Modifier.toString(f.getModifiers()));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
@Test
public void test02() throws ClassNotFoundException {
StringBuffer s = new StringBuffer();
Class c = Class.forName("java.lang.String");
s.append(Modifier.