開發與維運

初識反射機制 | 帶你學《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、根據對象調用類中的方法
    }
}

執行結果:

image.png

如果要實現反的處理操作,那麼首先要採用的就是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、根據實例化對象找到對象的所屬類型
    }
}

執行結果:

image.png

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

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

更多Java面向對象編程文章查看此處

Leave a Reply

Your email address will not be published. Required fields are marked *