本文主要是介绍scala自学之路-42-隐式类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//定义一个隐式类
object ImplicitClass {
//定义一个隐式类
//隐式类只能定义在类、trait、object内部
//隐式类的构造函数只能带一个非隐式参数
implicit class IntWithTimes(x: Int) {
def time[A](f: => A): Unit = {
//递归方法需要指明返回类型
def loop(current: Int): Unit = {
if (current > 0) {
f
loop(current - 1)
}
}
loop(x)
}
}
//隐式类的构造函数只能带一个非隐式参数
// implicit class Index(x:Int,y:Int)
implicit class Index(x: Int)(implicit y: Int)
//在同一个作用域,不能有方法或者对象,成员变量和隐式类同名
}
这篇关于scala自学之路-42-隐式类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!