首页 > 代码库 > Scala中的Implicit(隐式转换,隐式参数,隐式类)

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))  }}

输出如下:

Implicitharkkxy3

 

Scala中的Implicit(隐式转换,隐式参数,隐式类)