閱讀478 返回首頁    go 阿裏雲 go 技術社區[雲棲]


java反射機製學習總結

轉自:https://blog.csdn.net/DBACQUAN/article/details/12124713



    在學習過java反射後,對java反射還不是很了解,現在想用自己的語言來總結一下java的反射機製。

    第一:

java反射獲得Class對象,即獲得一麵鏡子,有三種方法:

    (1)在java反射中最常用的方法是:Class cls = Class.forName("包名.類名");

    (2)使用對象獲得Class對象:Class cls = 對象.getClass();

    (3)使用類名獲得Class對象:Class cls = 類名.class;

    第二:

通過反射獲得對象的實例:

   如果類中存在無參構造函數,則可以直接使用 cls.newInstance( );

    如果存在有參的構造函數,則可以使用cls.getConstructor();獲得各個構造函數,返回一個Constructor數組;

    使用constructor[0].newINstance(參數,參數...);創建實例、

    第三:

獲得該類所實現的所有接口:

        Class c [] = cls.getInterfaces();//獲得該類所實現的所有接口

    第四:

獲得所實例化對象類的所有屬性:
        Field f [] = cls.getDeclaredFields();//獲得本類的所有屬性
        Field f [] = cls.getFields();          //獲得繼承類的所有屬性

    第五:

獲得所實例化對象類的所有方法:    Method m[] = cls.getDeclaredMethods();獲得本類所有實現的方法
    Method m[] = cls.getMethods();//獲得本類所有實現的方法以及它繼承類的所有方法

最後更新:2017-04-03 15:22:09

  上一篇:go 三極管飽和,放大,截止電壓判斷
  下一篇:go 常見麵試題匯總