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")
  }
}
相关推荐
小徐不徐说1 小时前
序列化与反序列化:把 C++ 对象可靠地保存下来
开发语言·数据库·c++·php
ZhengEnCi2 小时前
模型训练完整流程:从数据准备到模型上线的 10 个关键步骤(全文可跑)
后端·算法
ragnwang2 小时前
Notes: Python pybind11 import C++ module
开发语言·c++·python
王中阳Go2 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
Wang's Blog2 小时前
Java 项目实战: 交友项目 - 搜索附近的功能概述和分析
java·开发语言·交友
程序猿DD2 小时前
OctaFuse Gateway 2.18.0:MCP 接入支持 OAuth,供应商粘性绑定可视化管理
后端
骑着蜗牛撵大象3272 小时前
大模型 Agent 的沙箱护栏:gVisor 隔离、出口白名单与审计闭环
java·开发语言·jvm·安全·agent沙箱·gvisor·microvm
Dxy12393102163 小时前
JS DES 加密详解
开发语言·javascript·arcgis
充值内卷3 小时前
我给桌面加了个鱼缸:C++ 写后端,WebView2 里养一座 Three.js 小岛
开发语言·javascript·c++
云和数据.ChenGuang3 小时前
深入解析 Python 的 dir():从用法到 CPython 源码实现
开发语言·人工智能·python·langchain