单例:希望某个类只存在一个使用的对象,而不管有多少个调用者在使用它,就是单例的概念。
package base
object Singleton extends App {
val aloneC1 = AloneObj.getAloneCInstance
val aloneC2 = AloneObj.getAloneCInstance
aloneC1.addOne
aloneC2.addOne
println(aloneC1.getPrice, aloneC2.getPrice)
}
object AloneObj {
private var aloneC: AloneC = null
def getAloneCInstance: AloneC = {
// 第一次掉用时创建实例
if (this.aloneC == null) this.aloneC = new AloneC()
this.aloneC
}
}
// 需要单例的类
class AloneC {
private var price = 0.0
def addOne = {
price += 1
}
def add(num: Double): Unit = {
price += num
}
def getPrice = price
}
1
package base
2
?
3
object Singleton extends App {
4
val aloneC1 = AloneObj.getAloneCInstance
5
val aloneC2 = AloneObj.getAloneCInstance
6
aloneC1.addOne
7
aloneC2.addOne
8
println(aloneC1.getPrice, aloneC2.getPrice)
9
}
10
?
11
object AloneObj {
12
private var aloneC: AloneC = null
13
?
14
def getAloneCInstance: AloneC = {
15
?
16
// 第一次掉用时创建实例
17
if (this.aloneC == null) this.aloneC = new AloneC()
18
?
19
this.aloneC
20
}
21
?
22
}
23
?
24
// 需要单例的类
25
class AloneC {
26
private var price = 0.0
27
?
28
def addOne = {
29
price += 1
30
}
31
?
32
def add(num: Double): Unit = {
33
price += num
34
}
35
?
36
def getPrice = price
37
}
原文:https://www.cnblogs.com/studyNotesSL/p/11443783.html