1、咱们介绍几个函数用于反编译一个类java
package com.bjpowernode.java_learning; public class D115_1_User { private String id; public int age; protected String addr; boolean sex; }
package com.bjpowernode.java_learning; import java.lang.reflect.Field; import java.lang.reflect.Modifier; public class D115_2_Reflect { public static void main(String[] args) throws Exception { //获取整个类 Class c = D115_1_User.class; //获取属性 //获取全部的public修饰的属性 // Field[] fs = c.getFields(); // System.out.println(fs.length); // System.out.println(fs[0].getName()); //获取全部的属性 Field[] fs =c.getDeclaredFields(); for(Field field:fs) { int i = field.getModifiers(); //getModifiers是用来显示修饰符的 String strModifier = Modifier.toString(i); System.out.println(i); System.out.println(strModifier); //Modifier.toString()方法传入数字用于解释是哪一种修饰符 Class type = field.getType(); System.out.println(type.getName());//类的名字 System.out.println(type.getSimpleName());//类的简易名字 System.out.println(field.getName());//域的名字 System.out.println("-----------"); } StringBuffer sb = new StringBuffer(); sb.append(Modifier.toString(c.getModifiers())+" class "+c.getSimpleName() + "{\n"); for(Field field:fs) { sb.append("\t"); sb.append(Modifier.toString(field.getModifiers())+" "); sb.append(field.getType().getSimpleName() + " "); sb.append(field.getName()+";\n"); } sb.append("}"); System.out.println(sb); } }
2、源码:node
D115_1_User.javagit
D115_2_Reflect.javagithub
https://github.com/ruigege66/Java/blob/master/D115_1_User.java微信
https://github.com/ruigege66/Java/blob/master/D115_2_Reflect.javaapp
2.CSDN:https://blog.csdn.net/weixin_44630050函数
3.博客园:https://www.cnblogs.com/ruigege0000/学习
4.欢迎关注微信公众号:傅里叶变换,我的公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料大数据