反射機制


簡單易懂的一篇文章

https://www.cnblogs.com/yrstudy/p/6500982.html  這篇簡短

http://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html 這個很長,古老。

說完是什么,為什么,我們必然需要掌握如何使用反射,先看反射中涉及了那些方法。

  Class c=Class.forName("className");注明:className必須為全名,也就是得包含包名,比如,cn.netjava.pojo.UserInfo; 
    Object obj=c.newInstance();//創建對象的實例 
    OK,有了對象就什么都好辦了,想要什么信息就有什么信息了。   
    獲得構造函數的方法 
    Constructor getConstructor(Class[] params)//根據指定參數獲得public構造器

    Constructor[] getConstructors()//獲得public的所有構造器

    Constructor getDeclaredConstructor(Class[] params)//根據指定參數獲得public和非public的構造器

    Constructor[] getDeclaredConstructors()//獲得public的所有構造器 
    獲得類方法的方法 
    Method getMethod(String name, Class[] params),根據方法名,參數類型獲得方法

    Method[] getMethods()//獲得所有的public方法

    Method getDeclaredMethod(String name, Class[] params)//根據方法名和參數類型,獲得public和非public的方法

    Method[] getDeclaredMethods()//獲得所以的public和非public方法 
    獲得類中屬性的方法 
    Field getField(String name)//根據變量名得到相應的public變量

    Field[] getFields()//獲得類中所以public的方法

    Field getDeclaredField(String name)//根據方法名獲得public和非public變量

    Field[] getDeclaredFields()//獲得類中所有的public和非public方法

  看到這些方法,你就可以明白,反射是多么的強大了,當你正確使用這些方法的時候,基本上是掌握了反射的技巧。

 

以上多用幾次用明白就明白了了。以上純屬copy。

不過這些多用用,用明白了,基本的反射確實ok了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM