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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM