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")
  }
}
相关推荐
星火开发设计23 分钟前
C++ 运算符全解析:算术、关系、逻辑与位运算
java·开发语言·c++·学习·位运算·知识·操作符
AI_567826 分钟前
Postman接口测试极速入门指南
开发语言·人工智能·学习·测试工具·lua
Emilin Amy31 分钟前
【C++】【STL算法】那些STL算法替代的循环
开发语言·c++·算法·ros1/2
遇印记35 分钟前
蓝桥java求最大公约数
java·开发语言
ONExiaobaijs37 分钟前
【无标题】
java·开发语言·spring·maven·程序员创富
IMPYLH42 分钟前
Lua 的 String(字符串) 模块
开发语言·笔记·单元测试·lua
符哥20081 小时前
Mybatis和Mybatis-plus区别
java·开发语言·mybatis
企业对冲系统官1 小时前
期货与期权一体化平台风险收益评估方法与模型实现
运维·服务器·开发语言·数据库·python·自动化
爬山算法1 小时前
Hibernate(46) Hibernate的配置文件如何加载?
java·后端·hibernate
ceclar1231 小时前
C++使用numeric
开发语言·c++