package ce.scala.zhong
import scala.io.Source
import java.io.File
object Context_Helper{
implicit class FileEnhancer(file : File){ //隐式类,只有File或其子类才可匹配
def read = Source.fromFile(file.getPath).mkString
}
implicit class Op(x : Int){
def addX(second : Int) = x + second
}
}
object Implicits_Class_63 {
def main(args: Array[String]): Unit = {
import Context_Helper._ //将隐式类导入
println(1.addX(8))
println(new File("E:\\big.txt").read) //类File中无read方法,但通过隐式类可以让它自动具有read方法
}
}
输出:
3
nihao
my name is spark
想增强类的功能,又不想对其做太大的改动的话,隐式类是个不错的选择。
参考资料来源于大数据梦工厂 深入浅出scala 第63讲 由王家林老师讲解