我看有以下一些形式的Java類:這個Java泛型範例做了什麼,它叫什麼?
public
abstract
class A <E extends A<E>> implements Comparable <E> {
public final int compareTo(E other) {
// etc
}
}
public
class B extends A <B> {
// etc
}
public
class C extends A <C> {
// etc
}
我的「可比」這裏使用的是隻是爲了說明一個可能的使用泛型參數「E」的。這種泛型/繼承的用法是否有名字?它是幹什麼用的?
我的印象是,這允許抽象類提供一個方法的公共實現(比如compareTo),而不必在子類中提供它。但是,在本例中,與繼承方法不同,它將限制子類在相同子類的其他實例上調用compareTo,而不是任何「A」子類。這聽起來正確嗎?
無論如何,只是好奇,如果任何專家在那裏看到這個,並知道它做了什麼。
謝謝!
該維基頁面基本上是我正在尋找的解釋,謝謝!我發現關於編譯時「靜態」多態的說明頗爲有趣。 – Tom 2010-03-04 23:20:43
這裏有一個很好的面向Java的討論:http://madbean.com/2004/mb2004-3/尋找標題「更多技巧與類型參數」 – 2010-03-30 19:47:24
網址[應該被包括在一個答案只作進一步閱讀](http://meta.stackexchange.com/q/8259)。這個答案似乎嚴重依賴於URL的內容,並且可以從答案中包含的網址摘要中受益。 – 2013-12-28 09:00:06