理解JAVA反射,注解,泛型,三體

簡述

在學(xué)習(xí)了這三大模塊之后,我覺得有必要梳理一下,因為這三個模塊是綁在一起的,可以稱為三體了,當(dāng)然java體系本來就是彼此有關(guān)聯(lián)的,但是這三個模塊放在一起看,就顯得彼此是多么的重要,可以達(dá)到1+1+1>3的效果。

概念

在這里還是需要把各自的概念描述一下:

反射:就是反過來獲取類的信息。以前都是java文件最后生成class文件,現(xiàn)在反過來,在有Class對象的前提下,獲取整個類的信息。

泛型 :在不知道要操作什么數(shù)據(jù)類型的時候,用它代替。像裝數(shù)據(jù)的容器數(shù)組,集合等,或者即將操作的對象,都不清楚時,用它代替。

注解:注解就類似一個標(biāo)簽,給字段,方法,類,或者給注解本身,做一個標(biāo)記。

關(guān)聯(lián)

為什么會說這三者是三體為一體呢?
因為注解跟泛型,都在反射機(jī)制下大放光彩。

對反射而言,就是給我字節(jié)碼的Class對象,我就可以給你關(guān)于這個類的所有信息,這是一個簡單而粗暴的協(xié)議。那為什么要跟注解以及泛型扯上關(guān)系呢?
我們使用注解時,只是在這個運(yùn)用的對象,做一個標(biāo)記。而這個標(biāo)記并不會影響程序本身,也就是說去掉注解,程序還是可以運(yùn)行的。
在這個注解做了作用域限制之后,我們就可以根據(jù)這個限制去獲取這個注解需要注入操作對象的數(shù)據(jù),而重點(diǎn)是在于我們該怎么獲取這個數(shù)據(jù)呢?
這時候,反射就上場了。反過來獲取操作對象的數(shù)據(jù),再去獲取貼在這個操作對象的標(biāo)簽的數(shù)據(jù),也就是這個注解的數(shù)據(jù)。注解是給編譯器或者APT操作的,所以在這里運(yùn)用這個反射。

泛型是在我們不清楚該操作的是什么時,它就上場了。
比如說:我們在使用反射時不知道要返回什么對象,可以使用泛型通配,就類似這樣,給我傳入一個字節(jié)碼,就返回一個對象給你。不需要強(qiáng)轉(zhuǎn),不需要判斷,簡潔而有效。

泛型+反射

重中之重還是在反射,反射是非常規(guī)的操作,是倒過來的操作方式,而注解,泛型,也是在最后初始化的時候才會清楚的告訴你,這個是什么類型,所以反射跟注解,跟泛型,就能夠完美的配合在一起~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 我覺得每個人都有一種活法,選擇而已罷了
    CNBLUEone閱讀 241評論 0 0
  • 俗話說得好“錢能使鬼推磨”,話說錢何止能使鬼推磨?而且還能使妹子脫光衣服。一美女當(dāng)街被陌生男子要求接吻,下面的場景...
    思考與行動閱讀 164評論 0 0
  • 最近一直在尋找能夠賺錢的機(jī)會,因為性格比較懶,雖然懂一點(diǎn)點(diǎn)推廣的知識,卻一直沒想過做一個個人獨(dú)立站賣東西(有上家公...
    墨跡2016閱讀 627評論 0 3
  • 認(rèn)識的一個小朋友提出下個月離職,然后就被一直關(guān)系很好的同事徹底疏遠(yuǎn),在單位變成了被視而不見的人。小朋友因為是...
    lisec516閱讀 169評論 0 0
  • 昔日舞臺上風(fēng)光無限,家庭幸福美滿,2003年,父親突然離世,年僅四歲的兒子被查出患有重度感統(tǒng)失調(diào)癥,他意識到親情的...
    獨(dú)行俠者閱讀 440評論 0 3

友情鏈接更多精彩內(nèi)容