可能重複:
What is the rationale behind having companion objects in Scala?斯卡拉:同伴對象宗旨
感謝我以前的帖子(Scala: companion objects and "new" keyword)所有響應。我想問問Scala中的伴侶對象的一般用途是什麼? 首先,我們能不能在類本身的構造器/方法定義的形式中包含所有的方法,比如apply? 此外,伴隨布爾對象的重點是什麼,因爲它甚至沒有定義應用方法?
再次感謝您的所有答覆。
可能重複:
What is the rationale behind having companion objects in Scala?斯卡拉:同伴對象宗旨
感謝我以前的帖子(Scala: companion objects and "new" keyword)所有響應。我想問問Scala中的伴侶對象的一般用途是什麼? 首先,我們能不能在類本身的構造器/方法定義的形式中包含所有的方法,比如apply? 此外,伴隨布爾對象的重點是什麼,因爲它甚至沒有定義應用方法?
再次感謝您的所有答覆。
伴侶對象需要:與同伴的類
unapply
和unapplySeq
方法來定義用於模式匹配的自定義提取器(請參閱here)apply
方法,該方法通常用作創建特定類的對象的工廠方法(但不一定是)Boolean
該對象在Scala的標準庫提供box
和unbox
用於原始布爾值和其包裹,對象表示之間進行轉換的方法。它另外(當前)用作@specialized
註釋的參數,以表示該類需要專用於哪些基本類型。
[下面的答案](http://stackoverflow.com/a/9806136/39396)比複製的接受答案要好。 – 2013-03-17 22:57:27