說說反射的用途及實現


一、Java反射框架主要提供以下功能:

1.在運行時判斷任意一個對象所屬的類;

2.在運行時構造任意一個類的對象;

3.在運行時判斷任意一個類所具有的成員變量和方法(通過反射甚至可以調用private方法);

4.在運行時調用任意一個對象的方法

二、主要用途 :

1、反射最重要的用途就是開發各種通用框架。

三、基本反射功能的實現(反射相關的類一般都在java.lang.relfect包里):

1、獲得Class對象

      使用Class類的forName靜態方法,直接獲取某一個對象的class, 調用某個對象的getClass()方法

2、判斷是否為某個類的實例

     用instanceof關鍵字來判斷是否為某個類的實例

3、創建實例

      使用Class對象的newInstance()方法來創建Class對象對應類的實例。

      先通過Class對象獲取指定的Constructor對象,再調用Constructor對象的newInstance()方法來創建實例。

4、獲取方法

    getDeclaredMethods()

5、獲取構造器信息

     getDeclaredMethods()

     getMethods()

     getMethod()

6、獲取類的成員變量(字段)信息

     getFiled: 訪問公有的成員變量

     getDeclaredField:所有已聲明的成員變量。但不能得到其父類的成員變量

     getFileds和getDeclaredFields用法

7、調用方法

       invoke()

8、利用反射創建數組

    Array.newInstance()


免責聲明!

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



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