Scala的单例对象
来源:互联网 发布:360如何优化系统 编辑:程序博客网 时间:2024/06/06 09:47
Scala中没有static关键字,它提供了object关键字来实现单例模式。
Scala中使用单例模式时,除了定义类之外,还需要定义同名的object。类为对象的伴生类(companion class),对象为类的伴生对象(companion object),两者可以互相访问其私有成员。
// 私有构造方法class Marker private(val color:String) { println("创建" + this) override def toString(): String = "颜色标记:"+ color }// 伴生对象,与类共享名字,可以访问类的私有属性和方法object Marker{ private val markers: Map[String, Marker] = Map( "red" -> new Marker("red"), "blue" -> new Marker("blue"), "green" -> new Marker("green") ) def apply(color:String) = { if(markers.contains(color)) markers(color) else null } def getMarker(color:String) = { if(markers.contains(color)) markers(color) else null } def main(args: Array[String]) { println(Marker("red")) // 单例函数调用,省略了.(点)符号 println(Marker getMarker "blue") }}
阅读全文
0 0
- Scala的单例对象
- Scala的单例对象
- Scala 单例对象
- Scala单例对象
- Scala单例对象
- Scala 基础学习-Scala 单例对象
- 【Scala】单例对象与伴生对象
- 0010.Scala单例对象、伴生对象
- scala 单例对象 伴生对象
- 探索Scala(3)-- 单例对象
- Scala类继承与单例对象
- Scala单例与伴生对象
- Scala的伴生类、伴生对象与单例对象和apply的介绍
- Scala : 单例对象、伴生类、伴生对象
- 学习笔记10:Scala单例对象、伴生对象
- 010-Scala单例对象、伴生对象实战详解
- Scala单例对象、伴生对象实战详解
- Scala中的伴生对象apply方法和单例对象
- Python中fileinput模块介绍
- 42 《养育的选择》-豆瓣评分8.8
- 糊糊的前端学习笔记——当缩放浏览器窗口时出现CSS样式混乱情况的分析【Day3】
- Activity 屏幕能够旋转,但不会重新加载
- POJ-2488 国际象棋马的走法 (深度优先搜索和回溯)
- Scala的单例对象
- 【笔记】《重构-改善既有代码的设计》
- 文章标题 javap理解
- 决策树
- Django-数据库中常用的过滤操作
- android QMI机制---Qcril初始化流程
- SAE J1939 协议入门前须知(一)
- 微积分1:求极限
- JDK5并发(1) Locks-AQS