JAVA泛型的繼承和實(shí)現(xiàn)、擦除原理解析
這篇文章主要介紹了JAVA泛型的繼承和實(shí)現(xiàn)、擦除原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
很多的基礎(chǔ)類(lèi)設(shè)計(jì)會(huì)采用泛型模式,有些應(yīng)用在使用的時(shí)候處于隔離考慮,會(huì)進(jìn)行繼承,此時(shí)子類(lèi)如何繼承泛型類(lèi)就很講究了,有些情況下需要類(lèi)型擦除,有些情況下不需要類(lèi)型擦除,但是大多數(shù)情況下,我們需要的是保留父類(lèi)的泛型特性。因?yàn)轭?lèi)型被擦除后,得到的對(duì)象會(huì)是Object,此時(shí)會(huì)導(dǎo)致編碼或反序列化失敗。
如下所示:

如果子類(lèi)也繼承父類(lèi)的泛型化,則類(lèi)型不會(huì)被擦除:

如果子類(lèi)自己實(shí)現(xiàn)泛型化,把父類(lèi)擦掉,也會(huì)丟失類(lèi)型,如下:

因?yàn)榉盒筒脸侵福涸诶^承、實(shí)現(xiàn)或使用時(shí)沒(méi)有指定具體的類(lèi)型,此時(shí)被擦除后的對(duì)象一律按照Object處理。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot項(xiàng)目打成war和jar的區(qū)別說(shuō)明
這篇文章主要介紹了SpringBoot項(xiàng)目打成war和jar的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06
MyBatis 添加元數(shù)據(jù)自定義元素標(biāo)簽的實(shí)現(xiàn)代碼
這篇文章主要介紹了MyBatis 添加元數(shù)據(jù)自定義元素標(biāo)簽的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
MySQL實(shí)現(xiàn)遠(yuǎn)程登錄的方法
Host 'Local' is not allowed to connect to this MySQL server 的解決方法,需要的朋友可以參考一下2013-03-03
利用Intellij Idea連接遠(yuǎn)程服務(wù)器實(shí)現(xiàn)遠(yuǎn)程上傳部署功能
大家在使用Intellij Idea開(kāi)發(fā)程序的時(shí)候,是不是需要部署到遠(yuǎn)程SSH服務(wù)器運(yùn)行呢,當(dāng)然也可以直接在idea軟件內(nèi)容實(shí)現(xiàn)配置部署操作,接下來(lái)通過(guò)本文給大家分享利用Intellij Idea連接遠(yuǎn)程服務(wù)器實(shí)現(xiàn)遠(yuǎn)程上傳部署功能,感興趣的朋友跟隨小編一起看看吧2021-05-05
Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式
這篇文章主要分享了Spring?Boot?教程之創(chuàng)建項(xiàng)目的三種方式,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-05-05
Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法
這篇文章主要介紹了Java針對(duì)ArrayList自定義排序的2種實(shí)現(xiàn)方法,結(jié)合實(shí)例形式總結(jié)分析了Java操作ArrayList自定義排序的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01
Java8并發(fā)新特性CompletableFuture
這篇文章主要介紹了Java8并發(fā)新特性CompletableFuture,CompletableFuture針對(duì)Future接口做了改進(jìn),相比Callable/Runnable接口它支持多任務(wù)進(jìn)行鏈?zhǔn)秸{(diào)用、組合、多任務(wù)并發(fā)處理,下面文章更多相關(guān)內(nèi)容得介紹,需要的小伙伴可以參考一下2022-06-06

