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

熱門標簽