Scala的泛型类和泛型特质

1.Scala泛型类

Scala 复制代码
object Test5 {
  //格式
  //定义:类名[T]
  //使用:类名[类型]
  abstract class A[T](){
    val data : Array[T]
  }
  class A1 extends A [Int]{
    override val data : Array[Int]=Array(1,2,3)
  }
  class A2 extends A[String]{
    override val data=Array("a","b","c")
  }
  def main(args: Array[String]): Unit = {
    val a = new A1()
    val rs = a.data(1)
    println(rs)

    val b = new A2()
    val rs1 = b.data(1)
    println(rs1)
  }
}

2.Scala泛型trait

Scala 复制代码
//泛型trait
//定义格式:trait 特质名[泛型]
//使用格式:特质名[具体的类型]
object Test6 {
  trait Logger[T]{
    val name:T
    def show(b:T):Unit ={
      println(b)
    }
  }
  class A extends Logger[String]{
    override val name = "test"
  }
  def main(args: Array[String]): Unit = {
    val a1 = new A()
    a1.show("hi")
  }
}
相关推荐
lead520lyq1 分钟前
Golang本地内存缓存
开发语言·缓存·golang
zhaotiannuo_19982 分钟前
Python之2.7.9-3.9.1-3.14.2共存
开发语言·python
2601_9498683612 分钟前
Flutter for OpenHarmony 电子合同签署App实战 - 主入口实现
开发语言·javascript·flutter
三水不滴12 分钟前
Redis缓存更新策略
数据库·经验分享·redis·笔记·后端·缓存
helloworldandy34 分钟前
高性能图像处理库
开发语言·c++·算法
2401_8365631835 分钟前
C++中的枚举类高级用法
开发语言·c++·算法
chao1898441 小时前
矢量拟合算法在网络参数有理式拟合中的应用
开发语言·算法
EmbedLinX1 小时前
C++ 面向对象
开发语言·c++
小邓吖1 小时前
自己做了一个工具网站
前端·分布式·后端·中间件·架构·golang
weixin_445402301 小时前
C++中的命令模式变体
开发语言·c++·算法