课程名称:反射
课程章节:第四章
主讲老师:Cedar
课程内容:
//java获取成员变量构造函数信息 /** * 成员变量也是对象 * java.lang.reflect.Field * Field类封装了关于成员变量的操作 */ public class methodDemo { public static void main(String[] args) { printFieldMethod("hello"); } static void printFieldMethod(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); } } /** * 打印对象的构造函数的信息 */ public static void printConMessage(Object obj){ Class c = obj.getClass(); /** * 构造函数也是对象 * java.lang.Constructor中封装了构造函数的信息 */ // Constructor[] cs = c.getConstructors(); Constructor[] cs = c.getDeclaredConstructors(); for (Constructor constructor :cs){ System.out.println(constructor.getName()); //获取构造函数的参数列表 Class[] parameterTypes = constructor.getParameterTypes(); for (Class class1 : parameterTypes){ System.out.println(class1.getName() +","); } } } }
课程收获:
这节主要学习了获取成员变量构造函数信息,因为成员变量也是对象,隶属于java.lang.reflect.Field,而Field类封装了关于成员变量的操作,所以这些东西还是需要知道的,这些东西的话,我感觉我用到的话很难,但是之后遇到这样的代码,我可以看懂,也可以运用。而且这章顺带还打印了构造函数,学到的东西还是非常多的,很多没有接触到的。
革命尚未成功,同志还需努力。
點(diǎn)擊查看更多內(nèi)容
為 TA 點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫(xiě)下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得
100積分直接送
付費(fèi)專(zhuān)欄免費(fèi)學(xué)
大額優(yōu)惠券免費(fèi)領(lǐng)