2011-12-07 37 views
5

這個類定義是什麼意思,類是什麼類?類定義類名<>

class Node<K extends Comparable<? super K>,V> 
+0

請用適當的編程語言標記您的問題。 – ghik

回答

13

這是一個通用的類定義。它翻譯成:

  • 類節點有兩個類型作爲參數:K和V.
  • K型必須擴展類Comparable
  • Comparable本身,在這種情況下,需要一些類型作爲參數,讓我們稱之爲T.
  • 類型T 必須是K.
  • 的超

編輯:好,因爲請求的例子,這個類的一個簡單的實例可以是:

Node<Integer, String> node = new Node<Integer, String>(); 

由於Integer類實現Comparable<Integer>它非常適合在上面的描述中(注意super還允許類型T到與K相同)。

V沒有約束,所以它可以是任何類型。

+0

+1打我幾秒鐘,我正在格式化代碼:) –

+1

好吧,所以你給了簽名的直接翻譯...你能提供一個可用於'K ',也許可以解釋這類課程在哪裏有用? – StriplingWarrior

+0

它在實現紅黑樹數據結構中很有用。 http://en.literateprograms.org/Red-black_tree_(Java)但我也想知道,它還有什麼用處? –

1

這是一個泛型類的類型KV,其中K是擴展任何類是K超類Comparable一個類型。

1

看起來它從紅黑樹的實現專爲解釋的目的是:

Red-black tree implemented in Java

除此之外,它是一個叫Node類,它的參數K和V,其中K延伸Comparable,這需要一個參數本身是超類K.

+0

沒錯,這是從該來源獲取的類定義。 –

相關問題