天天看點

初識反射機制 | 帶你學《Java語言進階特性》之八十

上一篇:IO實戰篇:投票選舉 | 帶你學《Java語言進階特性》之七十九

本節将為讀者從正反兩個方向介紹類的使用方式,并進一步結合代碼案例講解反射機制的作用和使用方式,幫助讀者了解Java的精髓:反射機制。

【本節目标】

通過閱讀本節内容,你将複習類的執行個體化過程,并學會借助反射機制,使用getClass方法反向獲得一個執行個體的類的資訊。

在Java語言中之是以會有如此衆多的開源技術支撐,很大一部分是來自于Java最大的特征--反射機制,如果不能夠靈活地去使用反射機制進行項目的開發與設計,那麼可以說你并未接觸到Java的精髓。

所有技術實作的目标隻有一點:重用性。

對于反射技術首先考慮的是“反”與“正”的操作,所謂的“正”操作指的是使用一個類的時候,一定要先導入程式所在的包,而後根據類進行對象的執行個體化,并依靠對象調用類中的方法。但是“反”則是根據執行個體化對象反推出其類型。

範例:正向操作

import java.util.Date;   //1、導入程式所在的包.類,知道對象的出處了
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        Date date=new Date();  //2、通過類産生執行個體化對象
        System.out.println(date.getTime());   //3、根據對象調用類中的方法
    }
}           

執行結果:

初識反射機制 | 帶你學《Java語言進階特性》之八十

如果要實作反的處理操作,那麼首先要采用的就是Object類中所提供的一個方法:

擷取Class對象資訊:

public final Class<?> getClass()

範例:觀察Class對象的使用

import java.util.Date;   //1、導入程式所在的包.類,知道對象的出處了
public class JavaAPIDemo {
    public static void main(String[] args) throws Exception {
        Date date=new Date();  //2、通過類産生執行個體化對象
         System.out.println(date.getClass());//3、根據執行個體化對象找到對象的所屬類型
    }
}           
初識反射機制 | 帶你學《Java語言進階特性》之八十

getClass()可以幫助使用者找到對象的根源。

想學習更多的Java的課程嗎?從小白到大神,從入門到精通,更多精彩不容錯過!免費為您提供更多的學習資源。

本内容視訊來源于

阿裡雲大學 下一篇:Class類對象的三種執行個體化模式 | 帶你學《Java語言進階特性》之八十一 更多Java面向對象程式設計文章檢視此處