2013-04-07 151 views
2

我有一個類似的行挖了一個開放源代碼項目:Java的抽象類擴展兩個類

abstract class AbstractClass<A extends ParentClass1, 
    B extends ParentClass2> 

能否請你告訴我究竟是什麼意思?我認爲java不支持多繼承,所以我們現在在做什麼? AB在這裏是什麼? :S

+1

http://docs.oracle.com/javase/tutorial/java/generics/ – 2013-04-07 06:30:34

回答

1

這裏A和B被放置只是可替換爲分別延伸ParentClass1和ParentClass2任何類持有者。當您創建此類的對象時,您可以將角度參數(<>)傳遞給角色。在編譯期間,這些參數將被編譯器替換爲A和B.

上面的代碼不表示多重繼承。請詳細閱讀generics以瞭解此內容。

0

如果您在<>刪除的內容,然後就看到它的唯一

abstract class AbstractClass 

這意味着,該類未擴展任何類都。

abstract class AbstractClass<A extends ParentClass1, 
    B extends ParentClass2> 

基本上意味着,類想申報2個泛型A和B,並迫使其類型。這意味着,它希望班級的實施者提供分別擴展ParentClass1ParentClass2的2個班級。

請參閱this更多的澄清