作用域
先说一个不能放的位置:implicit 不能放在顶级作用域(不能放在类的外边)
在实际的操作过程中,我们建议把它定义在如下两个地方:
1.包对象。这样在这个包下的所有类和对象中都可以使用,并且不需要额外的引入语句。
- 一个单独的文件定义中。这样在其他需要的位置就可以直接导入,然后使用。
语法
在其他需要使用的地方导入:
import implictions.Implictions._
文件implictions中的代码为:
package implictions
object Implictions {
implicit def double2Int(x:Double):Int={
println("double to int...")
x.toInt
}
}
详细操作如图所示: