0
点赞
收藏
分享

微信扫一扫

scala隐式解析机制


1)说明
(1)首先会在当前代码作用域下查找隐式实体(隐式方法、隐式类、隐式对象)。(一
般是这种情况)
(2)如果第一条规则查找隐式实体失败,会继续在隐式参数的类型的作用域里查找。
类型的作用域是指与该类型相关联的全部伴生对象以及该类型所在包的包对象。
2)案例实操

//(2)如果第一条规则查找隐式实体失败,会继续在隐式参数的类型的作用域里查找。类型的作用域是指与该类型相关联的全部伴生模块,
object TestTransform {
def main(args: Array[String]): Unit = {
//(1)首先会在当前代码作用域下查找隐式实体
val teacher = new Teacher()
teacher.eat()
teacher.say()
}
class Teacher {
def eat(): Unit = {
println("eat...")
}
}
implicit class XXX(user:Teacher) {
def say(): Unit = {
println("say...")
}
}
}

运行结果:

scala隐式解析机制_scala


举报

相关推荐

0 条评论