Scala中的Implicit(隐式转换,隐式参数,隐式类)
文章来自:http://www.cnblogs.com/hark0623/p/4196452.html 转发请注明
代码如下:
/** * 隐式转换 隐式参数 隐式类 */ //隐式转换 class Implicit(a: A) { def Test: Unit = { println("Implicit") } } class A { } object Implicit { //隐式转换 implicit def a2Implicit(a: A) = new Implicit(a) def ImplicitMethod(implicit name: String): Unit = { println(name) } //隐式类 implicit class JiSuan(x: Int) { def add(a: Int): Int = a + 1 } def main(args: Array[String]) { //隐式转换 val a = new A a.Test //隐式参数 implicit val name = "hark" ImplicitMethod ImplicitMethod("kxy") //隐式类 println(2.add(2)) } }
输出如下:
Implicit
hark
kxy
3
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步