隐式函数、隐式类

隐式函数

object ImpliDemo {
  implicit  val age:Int =100
   def opt(x:Int,y:Int)(implicit  f:(Int,Int)=>Int)={
     f(x,y)

  }
  def opt1(x:Int,y:Int)(implicit  f:(Int,Int)=>Int)={
    f(x,y)

  }
  def main(args: Array[String]): Unit = {
   // implicit  val age:Int =100
   // implicit  val name:String="vv"
    import  Eg._
   /* val demo = new ImpliDemo
    demo.show
    demo.show2("cc")*/
    println(opt(2, 3)((x1, x2) => x1 + x2))
    println(opt(6, 7))
  }
}
object ImpliDemo {
  implicit  val age:Int =100
   def opt(x:Int,y:Int)(implicit  f:(Int,Int)=>Int)={
     f(x,y)

  }
  def opt1(x:Int,y:Int)(implicit  f:(Int,Int)=>Int)={
    f(x,y)

  }
  def opt2(x:String,y:String)(implicit  f:(String,String)=>String): String ={
 f(x,y)

  }

  def main(args: Array[String]): Unit = {
   // implicit  val age:Int =100
   // implicit  val name:String="vv"
    import  Eg._
    implicit val f=(x:String,y:String)=>{
      (x+y).toUpperCase
    }
   /* val demo = new ImpliDemo
    demo.show
    demo.show2("cc")*/
  /*  println(opt(2, 3)((x1, x2) => x1 + x2))
    println(opt(6, 7))
*/
    println(opt2("java", "js"))
  }
}

隐式类

object Text00 {
  def main(args: Array[String]): Unit = {
    val aa=new AA
    import  RichAAdemo._
    aa.text01
    aa.text02
    aa.text03
  }
 /*text01......
text02.....
text03.....*/
}

class AA {
  def text01={
    println("text01......")
  }

}
object RichAAdemo {
  implicit  class RichAA(b:AA){
    def text02={
      println("text02.....")
    }
    def text03={
      println("text03.....")
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值