zoukankan      html  css  js  c++  java
  • 反编译.class中的各属性代码

    自己看注释!!!

    import java.lang.reflect.Field;
    import java.lang.reflect.Modifier;
    /**
     * 2021年5月6日 15:45:10
     * 目的:反编译.class中的各属性代码
     * 学习: 获取.class文件中的属性 类名 、修饰符 、名
     *其他: 书上有笔记 烦死了 JavaSe !!! 希望能帮到要帮助的人 -- BiHu
     */
    public class Main {
        public static void main(String[] args) {
            Class clazz = null;
            StringBuilder sb = new StringBuilder();
            try {
                clazz = Class.forName("pack.Person");       //获取到 .class 文件对象
                sb.append(Modifier.toString(clazz.getModifiers()) + " class " + clazz.getSimpleName() + "{
    ");//把class对象的类加入到sb
                Field[] Arr_Field = clazz.getDeclaredFields();  //获取到class对象中各个属性(返回数组)
                for (Field f : Arr_Field) {
                    sb.append("	");        //为了美观 加一个分隔符哈
                    sb.append(Modifier.toString(f.getModifiers()));   //将属性的修饰符添加到 sb
                    if (!f.getType().getSimpleName().equals("")) {             //如果属性类型名(不带包名) 为 "" 空
                        sb.append(f.getType().getSimpleName() + " ");  //将属性的类型名(不带包名)添加到sb
                    }
                    sb.append(f.getName() + "
    ");          //将属性名添加到sb
    
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            sb.append("}");
    
            System.out.println(sb);         //打印即可..
    
    
        }
    }

    本文来自博客园,作者:咸瑜,转载请注明原文链接:https://www.cnblogs.com/bi-hu/p/14735502.html

  • 相关阅读:
    SpringMVC视图解析器
    JavaEE PO VO BO DTO POJO DAO 整理总结
    Android Studio JNI开发入门教程
    javah的使用
    右键“在此处打开命令行窗口”的一个小秘密
    URL和URI的区别
    自学使用
    Ribbon使用
    Eureka集群搭建
    ssm常见面试题
  • 原文地址:https://www.cnblogs.com/bi-hu/p/14735502.html
Copyright © 2011-2022 走看看