Scala的隐式对象和隐式类

1.隐式对象

Scala 复制代码
object Test1 {
  case class DatabaseConfig(drive:String,url:String)
  //隐式对象
  //格式:就是在对象前面加一个 implicit
  //作用:给函数当默认值
  implicit object MySqlConfig extends DatabaseConfig("sqlserver.jdbc","localhost:3306")

  //定义一个连接数据库的数据
  def getCon(implicit config: DatabaseConfig): Unit  =  {
    println(config)
  }
  def main(args: Array[String]): Unit = {
    println(MySqlConfig)
    getCon   //使用默认值
    getCon(DatabaseConfig("sqlite","localhost:80"))   //使用自己定义的值
  }
}

**2.**隐式类

Scala 复制代码
//隐式类 == 一个类 + 一个隐式转换函数
//格式:在class的前面,添加implicit
//要点:要有一个参数,就要待被转换的类型,返回的类型就是当前的类
object Test2 {
  implicit class X(s:String) {
    println("transform被调用了...")
    def testabc:Unit = {
      println("abc......",s)
    }
  }
//  def transform(s:String):X = {
//    println("transform被调用了...")
//    new X(s)
//  }
  def main(args: Array[String]): Unit = {
    "abcddd".testabc
  }
}
相关推荐
小邓睡不饱耶8 天前
使用Scala实现手机号码归属地查询系统
开发语言·windows·scala
强化实验室16 天前
如何设计基于吖啶生物素,Acridinium-Biotin的高效生物检测体系?
flask·scala·pyqt·fastapi·web3.py
m0_7482546624 天前
Perl 变量类型
spark·scala·perl
是阿威啊1 个月前
【用户行为归因分析项目】- 【企业级项目开发第五站】数据采集并加载到hive表
大数据·数据仓库·hive·hadoop·spark·scala
是阿威啊1 个月前
【用户行为归因分析项目】- 【企业级项目开发第四站】模拟三类用户行为数据上传到Hadoop
大数据·hadoop·分布式·sql·scala
今天没有盐1 个月前
Python字符串操作全解析:从基础定义到高级格式化
后端·scala·编程语言
是阿威啊1 个月前
【用户行为归因分析项目】- 【企业级项目开发第一站】项目架构和需求设计
大数据·hive·hadoop·架构·spark·scala
代码于老总1 个月前
【Scala 技巧】用隐式类给 String “开挂”:一行代码实现手机号 / 身份证号校验
scala
scala舔狗汪1 个月前
scala的隐式对象和隐式类
scala
是阿威啊1 个月前
【maap-analysis】spark离线数仓项目完整的开发流程
大数据·分布式·spark·scala