模拟反编译,输出一个类的所有属性
程序员文章站
2024-03-13 12:06:33
...
模拟反编译,输出一个类的所有属性:
测试代码:
package reflect;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
public class Test08 {
public static void main(String[] args) {
String className = "java.lang.String";
Class aClass = null;
try {
// 拿到这个类的字节码
aClass = Class.forName(className);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
// 创建一个字符连接对象
StringBuilder s = new StringBuilder();
s.append(Modifier.toString(aClass.getModifiers()) + " " + aClass.getSimpleName() + " {\n");
// 追加所有的属性
Field[] fields = aClass.getDeclaredFields();
for (Field f : fields) {
s.append(" ");
s.append(Modifier.toString(f.getModifiers())); // 访问修饰符列表
s.append(" ");
s.append(f.getType().getSimpleName()); // 属性的类型
s.append(" ");
s.append(f.getName()); // 属性变量名
s.append( ";\n");
}
s.append("}");
System.out.println(s);
}
}
运行截图:
下一篇: Java实现表达式二叉树
推荐阅读
-
模拟反编译,输出一个类的所有属性
-
模拟反编译,输出一个类的构造方法
-
设计一个类Student: (1)属性包括姓名、学号和成绩 (2)方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。 编写测试类运行上面的方法。
-
定义一个抽象类一水果,创建若干水果对象存放在-一个水果类型的数组中,输出数组中所有水果的类型、重量
-
JAVA 将一个StringBuffer类对象中的所有小写字母变为大写字母,大写字母变为小写字母,然后输出显示
-
模拟反编译,输出一个类的属性及方法
-
获取一个实体类的所有非静态属性
-
记录一个校验对象为空/所有属性为空/null的工具类
-
模拟反编译,输出一个类的属性及方法
-
模拟反编译,输出一个类的属性及方法