泛型
package chapter04 object test10 { def main(args:Array[String]):Unit={ test[Person10](new Person10) test1[Child10](new Child10) def test[T](t:T):Unit={ println(t) } //上限;子类或者当前类 def test1[T<:User10](t:T):Unit={ println(t) } //下限:和java不一样,什么都可以传递 def test2[T>:User10](t:T):Unit={ println(t) } } } class Person10{} class User10 extends Person10{} class Child10 extends User10
package chapter04 object test11 { def main(args:Array[String]):Unit={ //默认情况下,Scala泛型和Java一样,保持不变性 val test = new Test[User11] println(test) //协变;子类 val test2 = new Test2[Child11] println(test2) //逆变;父类 val test3 = new Test3[Person11] println(test3) } } class Person11{} class User11 extends Person11{} class Child11 extends User11 class Test[User]{} //上限;+ class Test2[+User]{} //下限:- class Test3[-User]{}
posted on 2020-08-14 14:19 happygril3 阅读(114) 评论(0) 收藏 举报
浙公网安备 33010602011771号