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")
  }
}
相关推荐
bjxiaxueliang15 小时前
一文掌握SpringBoot:HTTP服务开发从入门到部署
spring boot·后端·http
饺子大魔王的男人15 小时前
Remote JVM Debug+cpolar 让 Java 远程调试超丝滑
java·开发语言·jvm
兩尛21 小时前
c++知识点2
开发语言·c++
fengfuyao98521 小时前
海浪PM谱及波形的Matlab仿真实现
开发语言·matlab
xiaoye-duck21 小时前
C++ string 底层原理深度解析 + 模拟实现(下)——面试 / 开发都适用
开发语言·c++·stl
Hx_Ma161 天前
SpringMVC框架提供的转发和重定向
java·开发语言·servlet
期待のcode1 天前
原子操作类LongAdder
java·开发语言
lly2024061 天前
C 语言中的结构体
开发语言
JAVA+C语言1 天前
如何优化 Java 多主机通信的性能?
java·开发语言·php
青岑CTF1 天前
攻防世界-Ics-05-胎教版wp
开发语言·安全·web安全·网络安全·php