scala进阶6-多重界定

/**
  * 多重界定
  */
//T是A或B的子类
//T <: A with B

//A或B是T的子类
//T >: A with B

//T是A的上界,B的下界
//T >: A <: B

//T必须同时满足存在A[T]和B[T]这样的隐式值
//T: A: B

//T必须同时满足能隐式转换成A和B
//T <% A <% B

class M_A[T]
class M_B[T]

object Multiple_Bounds {
  def main(args: Array[String]): Unit = {
    implicit val a = new M_A[Int]
    implicit val b = new M_B[Int]

    def foo[T: M_A : M_B](i: T) = println("OK")

    foo(2)
  }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值