反射反编译Demo

            Class string = Class.forName("java.lang.String"); // 获取.class对象
            
            Field[] field = string.getDeclaredFields(); // 返回所有属性对象数组
            StringBuilder sb = new StringBuilder();
            sb.append(Modifier.toString(string.getModifiers()) + " " + string.getSimpleName()+ " " + "{" + "\r");
            /**
             * getModifiers()int,方法获取属性或类的访问修饰模式,返回int值,使用Modifier类的toString方法解析
             * class对象的getName方法返回详细名字,包含包名
             * Field属性的getName方法返回属性名字
             */
            for (Field f : field) {
                sb.append("\t");
                String s = Modifier.toString(f.getModifiers());
                if (!"".equals(s))
                    sb.append(s);
                sb.append(f.getName());
                sb.append("\r");
                
            }
            sb.append("}");         
            System.out.println(sb);

猜你喜欢

转载自www.cnblogs.com/zhz-8919/p/10821665.html