一、我們介紹幾個函數用於反編譯一個類 package com.bjpowernode.java_learning; public class D115_1_User { private String id; public int age; protected String addr; bool ...
一、我們介紹幾個函數用於反編譯一個類
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); } }
二、源碼:
D115_1_User.java
D115_2_Reflect.java
https://github.com/ruigege66/Java/blob/master/D115_1_User.java
https://github.com/ruigege66/Java/blob/master/D115_2_Reflect.java
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關註微信公眾號:傅里葉變換,個人公眾號,僅用於學習交流,後臺回覆”禮包“,獲取大數據學習資料