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
  }
}
相关推荐
豚踢兔x3 天前
正则表达式应用-手机号打码
scala
代码于老总4 天前
正则表达式在 Scala 中的应用
scala
凯新生物10 天前
聚乙二醇二生物素,Biotin-PEG-Biotin在生物检测中的应用
scala·bash·laravel·perl
谁黑皮谁肘击谁在连累直升机10 天前
文件读写-成绩分析
scala
小冻梨11 天前
模式匹配-基础使用
scala
顧棟14 天前
JAVA、SCALA 与尾递归
java·开发语言·scala
深兰科技15 天前
坦桑尼亚与新加坡代表团到访深兰科技,促进AI在多领域的应用落地
java·人工智能·typescript·scala·perl·ai大模型·深兰科技
a程序小傲15 天前
scala中的Array
开发语言·后端·scala
kk哥889915 天前
scala 介绍
开发语言·后端·scala
173116 天前
scala中的Array
scala