2012-03-20 69 views
8

在我最近發佈的有關在Scala中使用或省略「新」關鍵字的文章("new" keyword in Scala)中,有人告訴我這種遺漏來自於某些類具有使用apply方法定義的伴侶對象在他們。我的問題是:我們能否告訴或有任何一般規則來區分哪些類/對象具有伴隨對象和應用方法?Scala:伴侶對象和「新」關鍵字

在此先感謝和抱歉,這是一個愚蠢的問題,但來自Java背景,它有點混亂。

+1

你可以看看scaladocs。或者如果您使用IDE,代碼完成應該顯示它。 – drexin 2012-03-20 20:54:00

+0

我正在使用eclipse,它應該如何告訴我我是否在使用同伴? – Bober02 2012-03-21 13:49:15

+0

你的問題不是你應該使用的伴侶,而是如何區分哪些類具有apply的伴隨定義,IDE會在代碼完成列表中向你顯示C for class或O for object。 – drexin 2012-03-21 14:52:07

回答

11

Scala API documentation中,您會在左側的列表中看到一個小圖標enter image description here。如果你點擊它,你可以找到所提到的類或特徵的伴侶對象的文檔。

標準庫中的大多數集合類和許多其他類都具有包含apply方法的伴隨對象。

對於案例類,Scala編譯器自動創建一個伴隨對象,其方法爲apply(以及其他方法)。