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")
  }
}
相关推荐
xyq2024几秒前
Vue3 条件语句详解
开发语言
架构师沉默18 分钟前
AI 让程序员更轻松了吗?
java·后端·架构
浩浩kids24 分钟前
R•Homework
开发语言·r语言
子兮曰25 分钟前
AI写代码坑了90%程序员!这5个致命bug,上线就炸(附避坑清单)
前端·javascript·后端
BUG胡汉三33 分钟前
自建在线文档编辑服务:基于 Collabora CODE + Spring Boot + Vue 3 的完整实现
vue.js·spring boot·后端·在线编辑
qq_4160187237 分钟前
设计模式在C++中的实现
开发语言·c++·算法
Evand J40 分钟前
【MATLAB教程】在matlab中,gscatter和scatter两个命令的区别
开发语言·matlab·教程·绘图·命令·教学
我还不赖1 小时前
什么是MCP?什么是Skill?它们又有什么区别和联系?
后端
像颗糖1 小时前
Docker 与 Docker Compose 通用实战指南(从安装到区别)
后端
2301_776508721 小时前
C++与机器学习框架
开发语言·c++·算法