scala非变协变逆变

// 非变:类A和类B之间是父子类关系,但是Pair[A]和Pair[B]之间没有任何关系(Scala默认非变)
// 协变:类A和类B之间是父子类关系,Pair[A]和Pair[B]之间也是父子类关系
// 逆变:类A和类B之间是父子类关系,但是Pair[A]和Pair[B]之间是子父类关系
object 非变协变逆变 {

class Father

class Son extends Father

// 非变
class Temp1[T]

// 协变
class Temp2[+T]

// 逆变
class Temp3[-T]

def main(args: Array[String]): Unit = {

// 非变
val t1: Temp1[Father] = new Temp1[Father]
// 编译报错,Temp1[Father

scala非变协变逆变最先出现在Python成神之路

版权声明:
作者:admin
链接:https://www.techfm.club/p/22126.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>