Scala伴生对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala伴生对象相关的知识,希望对你有一定的参考价值。

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

上面的例子中,伴生对象的成员属性/方法会自动被搜索到和并关联。


以上是关于Scala伴生对象的主要内容,如果未能解决你的问题,请参考以下文章

Scala编程之伴生对象

Scala伴生对象

每天学一点Scala之 伴生类和伴生对象

scala伴生类和伴生对象的理解

scala 单例伴生对象伴生类

聊聊 Scala 的伴生对象及其意义