[英]Java abstract class extends two classes
我在挖掘一個開源項目時也有類似的話:
abstract class AbstractClass<A extends ParentClass1,
B extends ParentClass2>
你能告訴我這到底意味着什么嗎? 我認為Java不支持多重繼承,所以實際上我們在這里做什么? A
和B
在這里是什么? :S
這里的A和B只是占位符 ,可以用分別擴展ParentClass1和ParentClass2的任何類替換 。 創建此類的對象時,可以在角制動(<>)中傳遞參數。 這些參數將在編譯期間由編譯器替換為A和B。
上面的代碼並不表示多重繼承。 請詳細閱讀泛型以了解這一點。
它是泛型類型,請在此處查找泛型: http : //docs.oracle.com/javase/tutorial/java/generics/types.html
如果刪除<>
中的內容,則只能看到其內容
abstract class AbstractClass
這意味着該類根本不擴展任何類。
abstract class AbstractClass<A extends ParentClass1,
B extends ParentClass2>
從本質上講,該類想要聲明2個泛型A和B,並強制其類型。 這意味着,它希望該類的實現者提供兩個分別擴展ParentClass1
和ParentClass2
類。
請參閱此以獲取更多說明
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.