文章詳情頁
關于java泛型類的小疑惑
瀏覽:71日期: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遵循先聲明后調用原則,故此需要在使用T之前現聲明T的具體類型與myGift的類型無關,不論T的類型是什么myGift都是Gift的一個類的對象.望采納!
回答2:我個人的理解是,這個類型的限制,是對傳入參數的限制,而不是類本身的
回答3:Gift呀,不指定泛型,默認為:Object。那是針對T來說的吧。Java的泛型在編譯階段需要確定類型,不是真真的動態。所以沒聲明T類型就默認了T為object
標簽:
java
相關文章:
1. Python列表或者字典里面的中文如何處理?2. javascript - 讀js權威指南“作為值得函數”產生了疑惑,求釋疑3. javascript - html 表單如何恢復4. javascript - 【快速判斷數組為空】[]==false 為什么返回true?5. css3 - css做動畫效果6. javascript - 關于JS 事件委托操作ul li標簽的問題7. javascript - 關于禁用文本選擇與復制的問題8. javascript - ES6 Module可以直接導入commonJS的模塊, 這個是ES6直接就實現了的, 還是babel轉的時候實現的?9. javascript - 請問,jquery中創建新節點之后插入之后再給這個節點添加css樣式,可以一句話寫完么?10. javascript - vue router 怎么實現某個頁面禁止瀏覽器回退?
排行榜
