文章詳情頁
關(guān)于java泛型類的小疑惑
瀏覽:93日期:2023-12-08 18:42:36
問題描述
有一個(gè)類,定義為class Gift<T>{...},當(dāng)我新建一個(gè)Gift對象時(shí),如 Gift<Phone> myGift = new Gift<Phone>myGift對象究竟是什么類型的呢,是Gift,Phone,還是Object?在博客讀到一段話說,在實(shí)例化對象時(shí),不指定泛型的話,默認(rèn)為:Object, 但是不指定泛型的話,默認(rèn)不是應(yīng)該為GIft么?
問題解答
回答1:<T> 這只是一個(gè)泛型的聲明 Gift<T> 說明你在Gift里面存在T這個(gè)泛型的使用,java遵循先聲明后調(diào)用原則,故此需要在使用T之前現(xiàn)聲明T的具體類型與myGift的類型無關(guān),不論T的類型是什么myGift都是Gift的一個(gè)類的對象.望采納!
回答2:我個(gè)人的理解是,這個(gè)類型的限制,是對傳入?yún)?shù)的限制,而不是類本身的
回答3:Gift呀,不指定泛型,默認(rèn)為:Object。那是針對T來說的吧。Java的泛型在編譯階段需要確定類型,不是真真的動(dòng)態(tài)。所以沒聲明T類型就默認(rèn)了T為object
標(biāo)簽:
java
相關(guān)文章:
1. CSS3 畫如下圖形2. angular.js - ionic2 瀏覽器跨域問題3. 如何用筆記本上的apache做微信開發(fā)的服務(wù)器4. java - 三位二進(jìn)制表示8進(jìn)制,四位二進(jìn)制表示16進(jìn)制,那么多少二進(jìn)制表示10進(jìn)制呢?5. 【python|scapy】sprintf輸出時(shí)raw_string轉(zhuǎn)string6. docker-compose中volumes的問題7. python - Scrapy存在內(nèi)存泄漏的問題。8. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????9. android - rxjava merge 返回Object對象數(shù)據(jù)如何緩存10. mysql - 記得以前在哪里看過一個(gè)估算時(shí)間的網(wǎng)站
排行榜

熱門標(biāo)簽