Java反射机制——获取成员变量构造函数
生活随笔
收集整理的這篇文章主要介紹了
Java反射机制——获取成员变量构造函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
Java反射機制——獲取成員變量&構造函數
一、成員變量是java.lang.reflect.Field的對象
1、Field類封裝了關于成員變量的操作
2、Field[] fs = c.getFields()方法獲取所有public的成員變量Field[]信息
3、c.getDeclaredFields獲取的是該類自己聲明的成員變量信息
4、field.getType()獲得成員類型的類類型
5、field.getName()獲得成員的名稱
二、構造函數是java.lang.Constructor類的對象
1、通過Class.getConstructor()獲得Constructor[]所有公有構造方法信息
2、建議getDeclaredConstructors()獲取自己聲明的構造方法
3、Constructor.getName():String
4、Constructor.getParameterTypes():Class[]
獲取成員變量
/*** 獲取成員變量的信息* @param obj*/public static void printFieldMessage(Object obj) {Class c = obj.getClass();/** 成員變量也是對象* java.lang.reflect.Field* Field類封裝了關于成員變量的操作* getFields()方法獲取的是所有的public的成員變量的信息* getDeclaredFields獲取的是該類自己聲明的成員變量的信息*///Field[] fs = c.getFields();Field[] fs = c.getDeclaredFields();for (Field field : fs) {//得到成員變量的類型的類類型Class fieldType = field.getType();String typeName = fieldType.getName();//得到成員變量的名稱String fieldName = field.getName();System.out.println(typeName+" "+fieldName);}}Ps:提取方法的工具:右擊-->Refactor(重構)-->ExtractMethod()導出方法。(注意:大括號對應)
獲取構造函數
/*** 打印對象的構造函數的信息* @param obj*/public static void printConMessage(Object obj){Class c = obj.getClass();/** 構造函數也是對象* java.lang. Constructor中封裝了構造函數的信息* getConstructors獲取所有的public的構造函數* getDeclaredConstructors得到所有的構造函數*///Constructor[] cs = c.getConstructors();Constructor[] cs = c.getDeclaredConstructors();for (Constructor constructor : cs) {System.out.print(constructor.getName()+"(");//獲取構造函數的參數列表--->得到的是參數列表的類類型Class[] paramTypes = constructor.getParameterTypes();for (Class class1 : paramTypes) {System.out.print(class1.getName()+",");}System.out.println(")");}} }轉載于:https://my.oschina.net/2016jyh/blog/1788576
總結
以上是生活随笔為你收集整理的Java反射机制——获取成员变量构造函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keepalived中的脑裂
- 下一篇: Cloudstack介绍(一)