Scala伴生對象
大部分Scala的單例對象不是單獨存在的,而是同時存在相同名稱的類。此時這個單例對象是“類”的伴生對象,而類則是“單例對象”的伴生類。類與它的伴生對象必須在同一個資源文件內。
例如:
case class NumberPair(num1: Int, num2: Int) case class Sum(sumResult: Int) object NumberPair { implicit def add: NumberPair => Sum = { np => Sum(np.num1 + np.num2) } } val np = NumberPair(1, 2) println(np.sumResult)
此時輸出結果爲:
3
上面的例子中,伴生對象的成員屬性/方法會自動被搜索到和並關聯。