Q
通用下界對象
2
A
回答
2
按照JLS http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html#jls-4.4類型參數(該<Ť延伸對象>術語)包括選自:
TypeParameter:
TypeVariable TypeBound*
TypeBound:
extends TypeVariable
extends ClassOrInterfaceType AdditionalBoundList*
AdditionalBoundList:
AdditionalBound AdditionalBoundList
AdditionalBound
AdditionalBound:
& InterfaceType
* =可選
你看TypeBound
,僅存在的使用指定了extends
。 不幸的是,未指定使用super
的下限類型參數。下限僅在使用通配符(JLS#4.5.1)
好問題,讓我在JLS挖那個指定的,我不知道爲什麼這不是Java實現的,只是沒有指定。
1
這樣一個較低的債券是完全沒用的。如果你想有一個只能接受Object的模板,你只需要使用Object作爲你的類型直接刪除所有的通用模板和代碼。
對於Object以外的其他類型,它也沒有任何意義。你爲什麼想要一個能夠接受類型A的對象或沒有類型A的對象(例如對象)的模板,但是當B是A的子類時,它會拒絕類型B的對象?這完全不合邏輯。
同樣的想法與接口:你會接受任何類型的沒有實現一個接口,在我全部或者實現它,但你會拒絕一個類型,不僅有我,但已經擴展它的界面???
相關問題
- 1. 泛型通配符參數下界對象
- 2. 通用下界方法
- 3. 通過「視圖」界面暴露對象
- 4. 境界空對象引用
- 5. 下界通配符
- 6. 通用對象
- 7. 創建界面,有一個通用的List對象
- 8. 提供了界面對象
- 9. java界面 - 面向對象
- 10. 聚合對象和邊界
- 11. JS包 - 界面對象
- 12. 真實世界對象
- 13. 對象界面佈局?
- 14. C++通用對象
- 15. 通用對象池
- 16. 通用對象池
- 17. 通用對象C#
- 18. 使用hitTestPoint()與舞臺對象創建對象的邊界
- 19. 對象用於代替界面?
- 20. 使用邊界框查找對象
- 21. 引用有界類型的對象
- 22. RxJava的真實世界用例對象
- 23. Xcode自定義用戶界面對象
- 24. C++類+對象和用戶界面
- 25. 設置對象通過拖動對象遍歷路徑的邊界條件
- 26. 可空對象通用對象集合
- 27. 通用對象和函數對象
- 28. 兩個對象中的通用對象
- 29. C#獲取通用對象的對象
- 30. 對象下的對象
你確定這是有效的語法嗎?我在Eclipse中遇到語法錯誤。 –
'令牌「超級」語法錯誤,expected'是我得到 –
注:我寫了這個問題,在我的iPhone,沒有編譯器方便 - 它不會編譯。 – Bohemian