版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35063002/article/details/80305986
implicit的作用,有2点:
第一个扩展其他类,增加方法;
class A (val data:Int){
...
}
implicit class B(a:A) {
def show {
println(a.data)
}
}
val a = new A(2)
a.show()
第2点,添加隐式参数,用户在使用方法时可以使用原定义好的implicit 参数;
def talk(name : String)(implicit content:String) = println(name+":"+content)
implicit val content = "Dollar"
talk("java")
talk("java")("spark")
结果:
java:Dollar
java:spark